Notes Vulgaris

Links
Типографская раскладка
ЖеЖе
Juick
Account
Tags
amarok blog books database debian desktop eee evangelism fonts freetype google graphics hacker howto it javascript kb kde linux mercurial openoffice php programming python rambler security xorg перевод повидло
16-02-2010 22:36 | 0 comments | tags: security, kb, howto

В этой заметке в деталях описывается процесс создания собственного Центра сертификации и последующая генерация сопутствующих файлов: сертификатов, запросов на сертификат и так далее. Считаем, что работаем в терминале на линукс/юникс машине с установленным openssl.

Заметка является вольным переложением на русский язык вот этой статьи.

read more ⇒
29-01-2010 13:02 | 0 comments | tags: linux

Базовые команды и некоторые скрипты и конфиги для редактора VIm. Дырявая память заставила это всё написать.

Введение

Статья была написана по той простой причине, что хотя и я пользуюсь постоянно этим редактором, некоторые команды постоянно забываются, а искать их в справке очень неудобно. Поэтому и решил составить постоянно обновляемый список используемых мной команд и скриптов. На всякий случай тут будут описаны и некоторые базовые вещи, чтобы документ оказался полезен и новичкам.

read more ⇒
25-12-2009 10:36 | 0 comments | tags: перевод, it, programming

Перевод статьи Сары Шерд «Life Cycle of a Silver Bullet», 2003 г.

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

read more ⇒
05-12-2009 00:49 | 0 comments | tags: linux, kb

Спасибо лору.

convmv --notest -r -f cp-1252 -t cp-850 /path/to/unzipped/files
convmv --notest -r -f cp-866 -t utf-8 /path/to/unzipped/files
01-12-2009 23:56 | 0 comments | tags: linux, graphics
  1. Подготовка файлов. Создаём каталоги res и ocr, разбираем PDF на страницы:

    pdftoppm -png file.pdf res/out
    
  2. Подготовка страниц; нужно увеличить разрешение, подкорректировать яркость и контрастность для лучшего распознавания:

    cd res
    FILES=`ls *.png`
    cd ..
    
    for f in $FILES; do
        convert -geometry 1000x -modulate 90 -gamma 0.9 -contrast -fx G res/$f ocr/$f.tif
    done
    
  3. Распознавание

    cuneiform out-014-g.tif -o out-014-g.tif.txt
    
Примечания
  • без корректировки яркости и контрастности результат распознавания был ужасным;
  • вывод в PNG почему-то вызывал сегфолт у cuneiform.
26-10-2009 22:15 | 0 comments | tags: programming, google

У гугла есть отличный поисковик по исходным кодам различных проектов. Фигово только, что в результаты поиска выводятся порциями по десять элементов. Фиксим это при помощи юзерскрипта для оперы.

// ==UserScript==
// @name google codesearch improvements
// @include http://*.google.com/codesearch
// @include http://google.com/codesearch
// ==/UserScript==

(function(){
    var e = document.createElement('INPUT');
    e.type = 'hidden';
    e.name = 'num';
    e.value = '100';
    document.forms[0].appendChild(e);
})();

Максимальное количество элементов на странице — сто.

26-10-2009 02:06 | 0 comments | tags: linux, kb

Памяти много, hibernate делается в swap-раздел, в прочее время swap не нужен. sysctl -w vm.swappiness=1 в /etc/rc.local не помогает, поэтому настраиваем pm-utils. Все команды с правами суперпользователя.

read more ⇒
24-10-2009 20:08 | 0 comments | tags: programming

Программа Assistant из Qt4 сделана довольно небрежно, например, даже при небольшом количестве открытых табов переключаться между ними очень неудобно. Поэтому фиксим это.

  1. В файле centralwidget.h исправляем параметры строки табов. Нам не нужны табы по ширине всего заголовка, обойдёмся скрыванием части заголовка за многоточием, этот параметр класса QTabBar называется elideMode, для нас подойдёт значение Qt::ElideMiddle. Теперь табы будут при необходимости «сжиматься» и исчезнет дико неудобная кнопка прокрутки табов.
  2. Также можно добавить кнопку закрытия на каждый таб.
23-10-2009 22:26 | 0 comments | tags: python, desktop, linux

Печатаем, что играет амарок. Скрипт очень простой (считаем, что локаль процесса, откуда вызывается скрипт, юникодная):

#!/usr/bin/env python2.5
# -*- coding: utf-8 -*-

import dbus
bus = dbus.SessionBus()

proxy = bus.get_object('org.kde.amarok', '/Player')
player = dbus.Interface(proxy, "org.freedesktop.MediaPlayer")
metadata = player.GetMetadata()

# access metadata using operator []:

np = u"/me now listening to %(artist)s — %(title)s (album: %(album)s)" % {
    'title': metadata['title'],
    'artist': metadata['artist'],
    'album': metadata['album']
    }

print np.encode("utf-8")
21-10-2009 20:53 | 0 comments | tags: amarok, database

Схема базы амарока, там же рядом лежит исходник схемы.

newer older