Linux, 12309, USB

Флешками пользуюсь редко, но когда это происходит, то скорость записи БОЛЬШОГО файла на флешку очень раздражает. При этом iow в максимуме, а операции с диском ужасно замедляются. Но эту проблему можно вылечить. Рекомендации от shimon (некто с LOR):

# sysctl vm.overcommit_memory=2
# echo 8388608 > /proc/sys/vm/dirty_bytes
# echo 8388608 > /proc/sys/vm/dirty_background_bytes

по умолчанию везде были нули.

Теперь запись на флешку делается существенно быстрее без тормозов системы. Я очень доволен.

Все подробности описаны в борьба с багом 12309.

Разработка Android-приложений под Gentoo Linux

Решил опробовать свои силы в разработке приложений (точнее игр) под Android. Поскольку моя основная домашняя система Gentoo Linux, то я решил разобраться с вопросом разработки именно под ней.

Все не так сложно, когда знаешь, что и как нужно устанавливать. Хотя мне предварительно пришлось повозиться с поиском и осознанием документации.
» Read more

DynDNS и localhost

Вчера, используя сервис DynDNS, настроил возможность подключения к домашнему компьютеру извне. DynDNS предоставляет возможность на бесплатном аккаунте в их домене получить свой сабдомен. У себя локально я установил клиента net-dns/ddclient – универсальный клиент на perl, поддерживающий множество сервисов. Настраивается легко (смотрите пример конфига из дистрибутива или на сайте клиента) – логин, пароль, имя домена – практически все, что нужно указать в конфиге.
На модеме настроил port-forwarding (у меня оно называется NAT – Virtual Server). Стандартный порт ssh я вынес на иной никем незадействованный порт. Подключение по ssh используя аккаунт root я запретил. Может это и лишние предосторожности, но пусть будет так.
Вот вроде и вся настройка, дерзайте.

Доступность порта извне можно проверить тут: http://www.dyndns.com/support/tools/openport.html

grc и make menuconfig

Если после установки пакета grc и настройки альясов у вас начались проблемы с конфигурацией ядра при помощи команды make menuconfig, знайте, всему виной альяс для команды make.

Useful bash prompt

Decided today to change the prompt in the terminal and the console on a more convenient and informative.
So, how it looks in urxvt terminal emulator:

My bash prompt

Features:

  • Terminal emulator or console detection.
  • Show time (and date) when command execution has been finished.
  • Show CPU usage when command execution has been finished.
  • Show user name and hostname (red color used for root).
  • Show error code if executed comand returns error.
  • Show current path (truncate it if length greater than 25 symbols).
  • Draw horizontal delimeter (depends on terminal with).
  • Show GIT or SVN info on second line and command prompt ($ for user and # for root).

» Read more

Информативное приглашение в терминале

Решил сегодня поменять приглашение в терминале и консоли на более удобное и информативное.
Так это выглядит у меня в эмуляторе терминала (urxvt):

Мой bash prompt

И подробнее в пару строк:

  • Определение терминал это или консоль.
  • Отображение времени, когда было закончено выполнение команды.
  • Отображение загрузки процессора на момент выполнения команды.
  • Отображение имени пользователя и хоста (если это root, то меняется цвет на красный).
  • Если команда была закончена с ошибкой, то отображается код ошибки в круглых скобочках.
  • Отображение текущего пути. Если путь превышает указанную длину (я остановился на цифре 25), то начало пути обрезается и заменяется на троеточие.
  • До конца строки отображается разделитель (зависит от ширины терминала).
  • На следующей строке отображается информация о GIT (если текущая директория находится внутри репозитория) и приглашение для ввода команды.

» Read more

Подсветка вывода консольных команд

Сегодня совершенно случайно наткнулся на весьма полезную утилиту app-misc/grc – она позволяет раскрасить вывод консольных команд.
В комплекте с программой идет несколько regexp’ов для раскраски (размещены в /usr/share/grc/): conf.irclog, conf.diff, conf.ldap, conf.ping, conf.traceroute, conf.cvs, conf.gcc, conf.log, conf.netstat, conf.esperanto, conf.configure, conf.wdiff, conf.proftpd
В файле /etc/grc.conf прописываются соответствия команд конфигурационным файлам.

Остается только прописать альясы в ~/.bashrc

[[ -f /usr/bin/grc ]] && { 
 alias configure="grc --colour=auto configure" 
 alias make="grc --colour=auto make" 
 alias gcc="grc --colour=auto gcc" 
 alias diff="grc --colour=auto diff" 
 alias cvs="grc --colour=auto cvs" 
 alias ping="grc --colour=auto ping" 
 alias traceroute="grc --colour=auto traceroute" 
 alias netstat="grc --colour=auto netstat" 
}

Simple Viewer GL

Simple Viewer GL Небольшой вьювер изображений использующий OpenGL. Пользуюсь этим вьювером в повседневной работе для быстрого просмотра списка изображений, определения параметров области, которую занимает спрайт на текстуре.

Поддерживаемые форматы: PSD, AI, EPS, PNG (libpng), XCF (требует доработки), JPEG 2000 (openjpeg), JPEG (libjpeg), TIFF (tiff, многостраничный), ICO (поддержка фреймов в формате png), DDS, GIF (giflib, с поддержкой анимации и возможностью просмотра каждого фрейма отдельно), BMP (частичная поддержка), TARGA, PNM, DDS, XWD, XPM, SCR (формат экрана ZX-Spectrum), WebP, OpenEXR.

Основные возможности:

  • поддерживаются встроенные в файл цветовые ICC-профили;
  • отображение EXIF или иной информации, внедренной в файл (клавиша <e>);
  • загрузка изображений в отдельном потоке + индикатор процесса загрузки;
  • создание списка файлов и поиск позиции, с которой начался просмотр;
  • поддержка GIF-анимации;
  • отображение координаты и цвета пикселя под курсором (ключ командной строки -p или клавиша P);
  • возможность выделения части изображения рамкой (удобно для определения координат и позиции области);
  • быстрое скролирование изображения с помощью клавиатуры или мышки;
  • произвольное масштабирование изображения с помощью клавиатуры ( / + / 1..0);
  • корректное автоматическое масштабирование изображений, не вмещающихся в окно вьювера;
  • возможность просмотра многостраничных изображений (клавиши PgUp / PgDn)
  • использование OpenGL;
  • разбиение больших изображений по нескольким текстурам;

 
Без минусов не обошлось:

  • нет возможности переназначить “горячие” клавиши (планирую сделать);
  • изображения загруженные с помощью Imlib2 не имеют информации о кол-ве бит на пиксель (постепенно избавляюсь от этой библиотеки в пользу собственной реализации загрузчиков);

Загрузка и сборка
В данный момент исходные коды Simple Viewer GL доступны в Git на Bitbucket.org.
 


1 2 3 4 21