Установка и настройка языка в Ubuntu

Показано, как установить пакеты локализации на примере русского языка, настроить языковые предпочтения, добавить раскладки клавиатуры и установить их параметры.

комментария 2 »05.05.2012 17:09:28 | Ubuntu, Делаю | , ,

Саратов такой Саратов!

Видеозарисовки из провинциальной жизни.

Читать всё »

Комментариев нет »04.05.2012 16:22:19 | Живу | ,

2 сервера на Python

Интересные открытия ждут новичков при исследовании функциональности Python интерпретатора и состава библиотек.

SMTP сервер для разработчика

Команда:

python -m smtpd -c DebuggingServer -n

Что делает:

Выводит всё, что приходит по стандартному smtp протоколу на стандартный вывод. Можете перенаправить в файл, можете смотреть так, в терминале. По умолчанию ожидает соединения на порт 8025 (стандартный 25 порт использовать без повышения привилегий нельзя). Для дополнительных опций и возможностей смотрите документацию.

Веб сервер для статики или передачи файлов

Бывает так, что надо посмотреть что-то по http протоколу, т.к. политики браузера не разрешают это через file://. А бывает, что надо что-то большое передать по сети коллеге, что выкладывать на друпбоксы долго, а расшаривать папки муторно (или запрещено файерволами).

Команда:

python -m SimpleHTTPServer

Что делает:

Даёт доступ по http ко всем файлам в текущем каталоге. index.html работает, список файлов при его отсутствии выдаёт. По умолчанию использует 8000 порт (стандартный 80 порт использовать без повышения привилегий нельзя). На стандартный вывод пишутся логи запросов, что также удобно. Для дополнительных опций и возможностей смотрите документацию.

Комментариев нет »04.05.2012 16:14:17 | Изобретаю | , ,

Шрифты QT приложений в Ubuntu 12.04 LTS

Пришла пора для новой системы и новых проблем для решения. Одной из таких стал мерзкий вид Skype в Ubuntu.

Для решения поставим программу

sudo apt-get install qt4-qtconfig

и запустим

qtconfig

Нужно выбрать заново требуемый шрифт и его размер. При закрытии, по запросу, изменения сохранить.

И в результате получим нечто более лучшее на вид.

PS: У меня есть подозрение, что проблема есть только у 64 битной версии Ubuntu, т.к. Skype 32 битный.

 

комментариев 5 »18.04.2012 13:10:01 | Ubuntu | ,

Забыть md5

Интересно, но я до сих пор считал, что md5 хеш в текстовом представлении (32 символа) для идентификации объектов — весьма не плохо. И коллизии маловероятны. Тем не менее, если не нужно привязываться к контенту объектов (как в git, к примеру, который, к слову, использует более длинный sha1), то можно поискать что-то более интересное и короткое.

Например, почитав статью Размещение, можно заключить, что у md5 при длине 32 символа возможно 16^32 вариантов. Это отлично! Однако не всегда нужно, поэтому могу предложить более простую реализацию: используя все символы английского алфавита и цифры можно получить достаточное количество вариантов ключей, надо лишь подобрать нужную длину для вашей задачи. При 5 (пяти, всего пяти!) знаках — это уже почти миллиард вариантов.

Это не моя идея, сервисы сокращения интернет ссылок используют этот механизм уже давно, но задуматься об эффективности перехода с md5 меня заставили собственные текущие задачи.

Регистрационный код по электронной почте, верификационный код какой-либо купонной системы, ссылка на информационный UGC элемент… Тут есть выигрыш при использовании более короткого кода. Хотя бы от того, что сам код становится менее страшным для человека (психологический момент использования сервиса) или ссылки в коде страницы станут короче (в случае UGC) — страница меньше и быстрее.

Это всё копейки. Но по копейкам набегают миллионы 😉

/*
 * Пример генерации кода на PHP
 */
function makeCode() {
  $a = '1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; // 62 символа
  $l = strlen($a) - 1;
  $c = $a[rand(0, $l)] . $a[rand(0, $l)] . $a[rand(0, $l)] . $a[rand(0, $l)] . $a[rand(0, $l)] .
  $a[rand(0, $l)] . $a[rand(0, $l)] . $a[rand(0, $l)] . $a[rand(0, $l)] . $a[rand(0, $l)]; // 10 знаков
  return $c; // число возможных размещений: 62^10 = 8,392993659*10^17
}

PS: На коллизии не забывайте проверять!

комментария 2 »29.03.2012 13:00:25 | Изобретаю | ,