Expertus metuit
Sergey Stolyarov | 2010-04-14 в 23:00

vlc -vvv alsa://hw:0,0 --sout '#transcode{acodec=mpga,ab=128,channels=2,samplerate=44100}:std{access=http,mux=ts,dst=192.168.0.100:8080}'

Sergey Stolyarov | 2010-01-29 в 13:02

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

Sergey Stolyarov | 2009-12-05 в 00:49

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

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
Sergey Stolyarov | 2009-12-01 в 23:56
  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.
Sergey Stolyarov | 2009-10-26 в 02:06

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

Sergey Stolyarov | 2009-10-23 в 22:26

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

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
#!/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 — %(t)s (album: %(album)s)" % {
    't': metadata['title'],
    'artist': metadata['artist'],
    'album': metadata['album']
    }

print np.encode("utf-8")
Sergey Stolyarov | 2009-10-19 в 22:49

В одном посте свёл разнообразную мелочёвку о настройке клиента. В первую очередь для себя, но, может, ещё кому-нибудь пригодится.

Sergey Stolyarov | 2009-05-09 в 03:05

Задача: создать и настроить mercurial-репозиторий на debian-сервере с установленным apache2.

Всё довольно просто, но есть несколько тонких моментов. Все шаги справедливы для debian lenny и, возможно, для ubuntu (не знаю какой версии). Предполагается, что наш репозиторий будет доступен по адресу http://hg.example.com/public.

Sergey Stolyarov | 2009-03-07 в 19:03

Это древний текст, он уже неактуален и вряд ли кому понадобится, но пусть хранится для истории.

В Xorg 1.5 введена новая система конфигурации, через HAL. Для конфигурации тачпада из Eee PC 900 необходимо, во-первых, собрать модуль psmouse.ko, который этот тачпад поддерживает; а во-вторых, написать соответствующий конфиг для Xorg.

Вот мой конфиг:

<?xml version="1.0" encoding="ISO-8859-1"?>
<deviceinfo version="0.2">
  <device>
    <match key="info.product" string="ETPS/2 Elantech Touchpad">
      <merge key="input.x11_driver" type="string">synaptics</merge>
      <merge key="input.x11_options.SHMConfig" type="string">True</merge>
      <merge key="input.x11_options.SingleTapTimeout" type="string">150</merge>
      <merge key="input.x11_options.MaxDoubleTapTime" type="string">10</merge>
      <merge key="input.x11_options.UpDownScrolling" type="string">1</merge>
      <merge key="input.x11_options.RightEdge" type="string">1050</merge>
      <merge key="input.x11_options.ZAxisMapping" type="string">4 5</merge>
      <merge key="input.x11_options.ClickTime" type="string">2</merge>
      <merge key="input.x11_options.FastTaps" type="string">1</merge>
      <merge key="input.x11_options.MinSpeed" type="string">0.246</merge>
      <merge key="input.x11_options.MaxSpeed" type="string">0.89</merge>
      <merge key="input.x11_options.AccelFactor" type="string">0.178</merge>
      <merge key="input.x11_options.LeftRightScrolling" type="string">0</merge>
      <merge key="input.x11_options.TapButton1" type="string">1</merge>
      <merge key="input.x11_options.TapButton2" type="string">2</merge>
      <merge key="input.x11_options.TapButton3" type="string">3</merge>
      <merge key="input.x11_options.VertEdgeScroll" type="string">true</merge>
      <merge key="input.x11_options.VertTwoFingerScroll" type="string">false</merge>
    </match>
  </device>
</deviceinfo>

Файл кладётся, например, сюда /etc/hal/fdi/policy/11-x11-elantech.fdi, затем перезапускается hal и xorg.

Sergey Stolyarov | 2009-03-04 в 19:03

Эта часть посвящена библиотеке растеризации шрифтов FreeType, а также базовым принципам растеризации, в том числе субпиксельной.

© 2006—2024 Sergey Stolyarov | Работает на pyrengine