Re: Аналог утилиты tac для сжатого файла

2012-02-16 Пенетрантность Serhiy Storchaka

16.02.12 12:39, Alexander Galanin написав(ла):

Грязная работа по разбору уже сделана авторами libzip, а индекс в памяти —
лично мной в fuse-zip. Осталось только смонтировать архив.


Тогда да, распаковка очень проста (если не нужно реверсить строки пока 
ещё идёт добавление). Упаковка сложнее.


А вот уже предлагавшийся вариант с монтируемой в память ФС с поблочным 
сжатием будет самым простым с пользовательской стороны и для вывода, и 
для ввода (по сравнению с zip может проиграть только в степени сжатия).



--
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/jhirem$5mb$1...@dough.gmane.org



Re: Аналог утилиты tac для сжатого файла

2012-02-15 Пенетрантность Serhiy Storchaka

13.02.12 21:34, Alexey Pechnikov написав(ла):

Кажется, стоит дополнить - разумеется, сжимаются строки ненулевой
длины, но достаточно малые для того, чтобы имело смысл применить
построчное сжатие; скажем, длина строк от 100 до 1000 байт.

Подойдет и вариант поблочного сжатия (например, блоками по 16...256
килобайт). Как очень простой вариант, можно сжимать по N строк и в
хексе их записывать построчно на диск... итоговый файл легко
пропустить через tac и далее построчно читать, распаковывая и делая
реверс строки. При правильно выбранном N получим и выигрыш от сжатия и
простую распаковку. При наличии достаточного объема ОЗУ аналогичное
легко проделывается в памяти (без перекодировки в хекс). Наверняка
есть готовые библиотеки и утилиты, реализующие данный алгоритм (как
минимум, подобное делается во множестве СУБД с поколоночным
хранением).


Что такое хекс?

В остальном мысль правильная.


--
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/jhgi12$mnj$1...@dough.gmane.org



Re: Аналог утилиты tac для сжатого файла

2012-02-15 Пенетрантность Serhiy Storchaka

13.02.12 23:01, Alexey Pechnikov написав(ла):

14 февраля 2012 г. 0:01 пользователь Alexander Galanin
a...@galanin.nnov.ru  написал:

Раз уж допустимо менять формат входных данных, то почему бы не хранить
информацию в виде россыпи из гзипнутых файлов по N строк?

Чтобы за просто так порвать диск? Очень сильно думаю, что в любом
скриптовом языке fsync зовется после записи каждого файла... так что
никак не вариант. А вообще хватило бы и двух файлов - с блоками и со
смещениями блоков, но это некрасиво.


Чем же некрасиво? Вполне по делу — данные и индекс. Легко реализовать 
даже на шелле.


tac index | while read range; do cut -b $range data | gunzip | tac; done


Пришло в голову, что zip архив позволяет добавлять файлы к архиву, и
утилитка для этого дела есть, любезно написанная когда-то Anton
Kovalenko:
| zipput archive.zip file-name
Интересно, какая производительность такого решения, если туда
поблочно/построчно данные пихать, может, и сойдет.


Если добавление O(1), то извлечение O(N). Без индекса в любом случае 
O(N^2) в сумме будет.



--
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/jhgihm$rcs$1...@dough.gmane.org



Re: Аналог утилиты tac для сжатого файла

2012-02-15 Пенетрантность Serhiy Storchaka

15.02.12 21:32, Alexander Galanin написав(ла):

Это смотря как распаковывать. Если распаковщик будет читать Central
Directory, то там в худшем случае надо пробегаться по списку всех
файлов, размер которого линейно зависит от N (по условию). Однако если
считать CentralDir и положить хотя бы в map (как в fuse-zip сделано), то
распаковка уже за O(N*log N) будет работать (с константой  1).


Не подходит по условию. Раз для топикстартера даже простой внешний 
индекс выглядит «некрасиво», то разбирать бинарный CentralDir и 
создавать индекс в памяти уж совсем чёрная низкоуровневая магия.



--
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/jhibdq$diq$1...@dough.gmane.org



Re: update-python-modules python3.2

2011-12-12 Пенетрантность Serhiy Storchaka

10.12.11 20:35, Alex Kicelew написав(ла):

Опаньки. Спасибо, не вник сразу. Не имел раньше дел с питонами.


Зачем вам тогда mocker?


--
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/jc5spm$mjq$1...@dough.gmane.org



Re: Поиск и удаление дублирующих файлов

2011-11-19 Пенетрантность Serhiy Storchaka

19.11.11 15:07, Michael Shigorin написав(ла):

On Sun, Nov 06, 2011 at 08:31:09PM +0600, Andrey Rahmatullin wrote:

Какие программы есть на эту тему?  Желательно, чтоб можно
было посмотреть список файлов-дубляжей и выборочно удалить
любой из них.

Несколько не в тему.  Вместо удаления повторов, я обычно
заменяю их одним файлом с несколькими именами (e. g.,
через ln(1)) предварительно проверив совпадение mtime и
содержимого.  (И, конечно, то, что это /различные/ файлы.)

apt-get install hardlink


JFYI, ldv@ некоторое время тому рекомендовал вместо него hardlinkpy..
В дебиане будто не наблюдаю -- http://hardlinkpy.googlecode.com/


Пользовался fdupes. Потом переписал на Python (дополнив и ускорив).
#!/bin/env python
# FDUPES Copyright (c) 1999-2002 Adrian Lopez
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of self software and associated documentation files
# (the Software), to deal in the Software without restriction,
# including without limitation the rights to use, copy, modify, merge,
# publish, distribute, sublicense, and/or sell copies of the Software,
# and to permit persons to whom the Software is furnished to do so,
# subject to the following conditions:
#
# The above copyright notice and self permission notice shall be
# included in all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED AS IS, WITHOUT WARRANTY OF ANY KIND, EXPRESS
# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
# CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

__version__ = '1.50-PR2-s1'

import sys, os, stat, optparse, time
try:
	from hashlib import md5
except ImportError:
	from md5 import md5


CHUNK_SIZE = 8192

PARTIAL_MD5_SIZES = [4096, 16384, 65536, 262144, 1048576]

class filestat:
	def __init__( self, path ):
		self.filename = path
		self.stat = os.stat( path )
		self.signatures = [None] * len( PARTIAL_MD5_SIZES )
		self.duplicates = None

	def getcrcpartial( self, i ):
		if self.signatures[i] is None:
			f = open( self.filename, 'rb' )
			self.signatures[i] = md5( f.read( PARTIAL_MD5_SIZES[i] ) ).digest()
			f.close()
			if self.stat.st_size = PARTIAL_MD5_SIZES[i]:
for j in range( i, len( self.signatures ) ):
	self.signatures[j] = self.signatures[i]
		return self.signatures[i]

# 	def getcrcsignature( self ):
# 		if self.signatures[-1] is None:
# 			self.signatures[-1] = getcrcsignature( self.filename )
# 		return self.signatures[-1]

# def getcrcsignature( filename ):
# 	f = open( filename, 'rb' )
# 	m = md5()
# 	chunk = f.read( CHUNK_SIZE )
# 	while chunk:
# 		m.update( chunk )
# 		chunk = f.read( CHUNK_SIZE )
# 	f.close()
# 	return m.digest()

def registerfile( file ):
	file.left = None
	file.right = None
	return file

def errormsg( message, *args ):
	sys.stderr.write( '\r' + ( ' ' * 40 ) + '\r' + sys.argv[0] + ': ' )
	print sys.stderr, message % args


def escapechar( escape_list, c ):
	if c in escape_list:
		return '\\' + c
	return c

def escapefilename( escape_list, filename ):
	return ''.join( map( escapechar, filename ) )


def grokfiles( input ):
	input = input[:]
	output = []
	indicator = '-\\|/'
	if not options.hideprogress:
		progress = 0
	while input:
		path = input.pop()
		if not options.hideprogress:
			if progress % 100 == 0:
sys.stderr.write( '\rBuilding file list %c' %
	indicator[progress / 100 % len( indicator )] )
			progress += 1
		try:
			newfile = filestat( path )
			if newfile.stat.st_size == 0 and options.excludeempty:
continue
			lstat = os.lstat( path )
			if stat.S_ISDIR( newfile.stat.st_mode ):
if options.recurse and ( options.followlinks or not stat.S_ISLNK( lstat.st_mode ) ):
	try:
		for name in os.listdir( path ):
			input.append( os.path.join( path, name ) )
	except OSError:
		errormsg( 'could not chdir to %s', path )
		continue
			elif stat.S_ISREG( lstat.st_mode ) or ( stat.S_ISLNK( lstat.st_mode ) and options.followlinks ):
output.append( newfile )
		except OSError:
			pass
	return output



def checkmatch( checktable, file ):
	if file.stat.st_size not in checktable:
		checktable[curfile.stat.st_size] = registerfile( file )
		return None
	checktree = checktable[curfile.stat.st_size]
	while True:
		# If device and inode fields are equal one of the files is a
		# hard link to the other or the files have been listed twice
		# unintentionally. We don't want to flag these files as
		# duplicates unless the user specifies otherwise.
		if ( file.stat.st_ino == checktree.stat.st_ino and
file.stat.st_dev == checktree.stat.st_dev ):
			if options.considerhardlinks:
return checktree
			else:
return None

		try:
			cmpresult = 0
			for i in range( len( PARTIAL_MD5_SIZES ) 

Re: Подскажите инструментарий для file release system.

2011-10-12 Пенетрантность Serhiy Storchaka

11.10.11 01:29, Oleksandr Gavenko написав(ла):

Действительно, почему не Mercurial (в качестве файлового хранилища)?


А разве можно в Mercurial (или другой DVCS) вытащить или положить один 
файл, без того, чтобы клонировать всё хранилище, со всеми версиями всех 
файлов?


В Subversion же можно и файл по http(s) получить, и залить через WebDAV 
(на крайний случай). Впрочем, если файлы неизменяемы, использование VCS 
выглядит немного излишним.



--
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/j743ob$s8q$1...@dough.gmane.org



Re: [offtopic] Re: Зачем юзе ру www-data шелл /bin/sh?

2011-04-02 Пенетрантность Serhiy Storchaka
Иван Лох wrote:
 On Sat, Apr 02, 2011 at 02:04:59AM +0400, sergio wrote:
 А чем плохо плюсование?
 У Коперника не было бы шансов. Истина это результат дискуссии, а не
 голосования. Зачем нужны аргументы, если можно тупо жать кнопку?

Аргументированно можно возразить. А если ты полностью согласен с 
высказавшимся, если привёл бы те же самые аргументы и примеры, то зачем 
вообще что-то говорить? Вот и получается, что отвечают только те, кто 
против, их голоса слышны, а в поддержку — нет. И поскольку практически 
каждый ответ содержит в себе хотя бы частичное несогласие с предыдущим 
автором, то любая тема превращается в флейм. «Плюсования»/«минусования» в 
этом не виноваты.


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/in6o6b$2m8$1...@dough.gmane.org



Re: Зачем юзеру www-data шелл /bin/sh?

2011-04-01 Пенетрантность Serhiy Storchaka
Smagin Vladimir wrote:
 gmail не причем. рассылка настроена криво. но посетители утверждают
 обратное, мол это почтовики кривые. и еще обсирают с ног до головы при
 этом.

Припозднилась весна в этом году.


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/in5066$6p3$1...@dough.gmane.org



Re: Ресайз Btrfs

2011-03-31 Пенетрантность Serhiy Storchaka
Paul Carroty wrote:
 ЧЯДНТ?

Открываете новую тему, отвечая на сообщение в другой ветке.


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/in2pdd$j0m$1...@dough.gmane.org



Re: за использование пиратского ПО (ст)

2011-03-28 Пенетрантность Serhiy Storchaka
Иван Лох wrote:
 Много советских фильмов где, вообще, не понятно
 кому они принадлежат.

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


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/imqioj$2mj$1...@dough.gmane.org



Re: Why there's no wrussian package in Debian?

2011-02-24 Пенетрантность Serhiy Storchaka
Alexander Shulgin wrote:
 2011/2/24 Andrey Rahmatullin w...@wrar.name:
 Где это вообще используется?
 
 Очень помогает решать лингвистические вопросы типа пузо, железо
 (слова, оканчивающиеся на -зо).  С помощью grep-а, естественно.
 
 Я что совсем один такой? :)

Нет. Использовал для нахождения слов, составленных из перепутанных букв 
(опзу - пузо), для решения кроссвордов, для поиска слов с определёнными 
окончаниями или суффиксами. Также составил список слов, записанных буквами, 
омографичными латинице (для исправления ошибок распознавания).

Список слов сгенерил из исходников словаря для ispell (там внутри есть 
инструкция).


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/ik5lt6$prq$1...@dough.gmane.org



Re: игры для детей

2011-01-05 Пенетрантность Serhiy Storchaka
Alexander Krasnitskiy wrote:
 Кто что посоветует из детских игрушек? На возраст от 3-х лет. gcompris
 стоит, что то из него нравится, до чего то еще не доросли. ktuberling
 (Potato Guy) и gamine тоже стоят и используются, но особого восторга не
 вызывают. Что еще есть? Обязательное требование - русский язык, поэтому
 childsplay не годится.

Уже назвали tuxpaint. Проблемой здесь будет владение мышкой (нужно 
одновременно зажимать кнопку и вести указатель). Хотя, если ktuberling 
освоили (в KDE4 он, кстати, на порядок лучше, чем в KDE3), будет легче. 
Очень нравится заливка контурных картинок и заполнение её штампами. Tuxpaint 
следует подтюнить перед тем, как сажать ребёнка -- уменьшить разрешение 
(чтобы кнопки побольше были), полноэкранный режим, убрать лишние кнопки, 
выставить язык.

Также детям нравится просто печатать (даже если не знают букв). Подойдёт 
любой графический текстовый редактор с выставленным размером шрифта 50-100.

Среди игр могут пойти гонки -- extremetuxracer, planetpenguin-racer,  
supertuxkart, torcs. Прыгалки -- supertux, smc. Леталки-стрелялки -- 
chromium-bsu, criticalmass, powermanga (но некоторые из них слишком сложны 
даже на простейшем уровне). Ещё есть btanks -- если любит танчики. Yofrankie 
очень красочная игра. Может запасть на bomber или granatier -- там так 
смешно взрываются бомбы.

В childsplay и gcompris очень разное качество игр. Но есть и несколько 
подходящих для маленького ребёнка (там, где нужно угадывать перевёрнутые 
карты или по определять кто какой звук издаёт).

Но всё очень сильно зависит от ребёнка. Что одного приводит в восторг -- 
другого оставляет равнодушным. Ценятся яркость и цвет, музыка и ба-бахи.


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/ig28cm$ap...@dough.gmane.org



Re: Подстановка переменного числа аргументов

2010-10-31 Пенетрантность Serhiy Storchaka
Aleksey Cheusov wrote:
 Задача. В зависимости от некоторых условий необходимо вызвать команду с
 дополнительными аргументами или без них. Например:
 
 В самых сложных и запутанных случаях помогает shquote, который ниже
 и eval. Решение -- самое общее и переносимое на любой POSIX и даже
 недо-POSIX шел.

Спасибо, но мне не нужен eval. Достаточно предложенного Виктором первого 
варианта: ${USE_FOO:+--foo $FOO}



-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/iajb1h$tq...@dough.gmane.org



Re: Подстановка переменного числа аргументов

2010-10-29 Пенетрантность Serhiy Storchaka
Oleksandr Gavenko wrote:
 Cygwin портит аргументы после вызова программ зависимых от cygwin1.dll
 (поведение зависит от значения перем. огруж. CYGWIN), вроде как до main.

Это вынужденные костыли, не нужно винить Cygwin за его помощь убогим. Любая 
программа под WinDos вынуждена сама портить свои аргументы.

 Нужно было собрать альтернативным компилятором, что бы узнать
 что же там по настоящему передается.

Если запустите не через bash#, а через C:\ -- результат будет другим.


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/iadvi5$gd...@dough.gmane.org



Подстановка переменного числа аргументов

2010-10-28 Пенетрантность Serhiy Storchaka
Здравствуйте.

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

Задача. В зависимости от некоторых условий необходимо вызвать команду с 
дополнительными аргументами или без них. Например:

   if somecheck
   then
  OPTS=--foo $FOO
   else
  OPTS=
   fi
   bar -ziq $OPTS bla-bla-bla

Проблема в том, что $FOO может быть пустым (тогда подставится лишь один 
аргумент --foo) или содержать пробелы (тогда подставится больше двух 
аргументов).

Можно, конечно, написать:

   if somecheck
   then
  bar -ziq --foo $FOO bla-bla-bla
   else
  bar -ziq bla-bla-bla
   fi

И всё будет работать как надо. Но хотелось бы избежать дублирования, 
постоянные аргументы вызова могут быть громоздкими. Не говоря уж о том, что 
если будет несколько условий, код разрастётся в геометрической прогрессии.

Как быть?


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/iabp64$6n...@dough.gmane.org



Re: Подстановка переменного числа аргументов

2010-10-28 Пенетрантность Serhiy Storchaka
Victor Wagner wrote:
 Ну во-первых, можно подумать о подстановках вида ${FOO:+--foo ${FOO}}
 
 Это на тот случай если задача ставится так Если перемная FOO не пуста,
 подставляем ключик --foo $FOO, иначе не делаем ничего.

Спасибо, вот это -- пойдёт. Только проверка не на FOO, а на вспомогательную 
переменную, пустота которой зависит от условий.

Но всё же шелл -- очень непоследовательный язык.

 Во-вторых, можно подумать об использовании команды set, которая позволит
 засунуть нужные параметры на место аргументов шелловского скрипта. И
 потом подставлять через $@ - c cохранением разбиения на аргументы.

Тот ещё изврат. И не годится для нескольких опциональных подстановок. И 
вызов функций всё портит. Нет, не буду.

 В-третьих, почитать доку на специфические возможности используемого
 шелла. Может быть в bash или zsh есть специальные удобные средства для
 этой цели.

Это несложный скрипт, башизмы не используются. Если можно, я стараюсь писать 
и проверять скрипты для dash.

 В-четвертых, можно аккуратно квотить дважды.  В смысле
  OPTS=--foo \\$FOO\ или OPTS=--foo \$FOO\ (почувстуйте разницу
  между этими двумя вариантами.

Первый, очевидно, не делает того, что надо (если не использовать eval, а с 
ним код превратится в совсем нечитаемую кашу). Второй не работает, если в 
FOO есть кавычки (да и без них, похоже, без eval-а не обойтись). Не надо 
такое счастье.


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/iac0gr$bo...@dough.gmane.org



Re: Подстановка переменного числа аргументов

2010-10-28 Пенетрантность Serhiy Storchaka
Oleksandr Gavenko wrote:
$ var=--opt arg 'arg-part1 arg2-part2'
$ printarg $var

А printarg -- это откуда?

 Еще ограничение POSIX shell:
 
 bash# foo=bar
 bash# bar=xxx
 bash# echo ${${foo}}
 bash: ${${foo}}: bad substitution
 
 или
 
 bash# foo1=xxx
 bash# foo2=yyy
 bash# var=1
 bash# echo ${foo${var}}
 bash: ${foo${var}}: bad substitution

В bash-е для этого используется синтаксис ${!foo}.

В POSIX shell -- наверное только через eval (или субшелл).



-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/iac1un$iu...@dough.gmane.org



Re: Подстановка переменного числа аргументов

2010-10-28 Пенетрантность Serhiy Storchaka
Peter Pentchev wrote:
 On Thu, Oct 28, 2010 at 05:44:31PM +0300, Serhiy Storchaka wrote:
 А printarg -- это откуда?
 
 Если не ошибаюсь, Олександр имеет ввиду чего-то вроде:
 
 #!/bin/sh
 #
 # This trivial utility is hereby placed into the public domain.
 
 while [ $# -gt 0 ]; do
 printf '%s\n' $1
 shift
 done
 
 (только-что написал, может, есть какие-то баги :)

Ну зачем же так сурово, можно:

   for a in $@
   do
  printf '%s\n' $a
   done

Я сперва думал, может какая-то встроенная команда для отладки в последнем 
баше появилась. Или из какого-нибудь пакета shell-misc, содержащего ещё 
несколько полезных скриптов.


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/iac7dr$gg...@dough.gmane.org



Re: bash -cs

2010-10-19 Пенетрантность Serhiy Storchaka
Валентин Лоскутов wrote:
 Немного не в тему. А почему у меня так не получается?
 
 $ echo $0
 /bin/bash
 $ echo echo aaa\necho bbb | bash -c 'date ; source /dev/stdin'
 Пнд Окт 18 16:44:06 MSD 2010
 aaanecho bbb
 
 Мучился не так давно с этим \n, но так и не победил.
 
 $ echo aaa\nbbb
 aaa\nbbb

echo -e aaa\nbbb

printf aaa\nbbb\n

{ echo aaa; echo bbb; }

cat EOF
aaa
bbb
EOF



-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/i9jr91$1c...@dough.gmane.org



Re: bash -cs

2010-10-18 Пенетрантность Serhiy Storchaka
Źmicier wrote:
 Подскажите, пожалуйста, как можно заставить bash считать первую
 команду из параметров ключа запуска -c а последующие из stdin? Иначе:
 как заставить bash -с [command] не завершаться после выполнения, а
 ждать ввода?
 Для sh - /bin/dash это достигается комбинированием ключей -c и -s.
 Для наглядности в отдельном эмуляторе терминала:
 $ xterm -e sh -cs ls
 У bash ключ -s тоже есть, но в сочетании с -c он не работает.

{ echo [command]; cat -; } | bash -s



-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/i9hegd$mc...@dough.gmane.org



Re: tasksel для богатых?

2010-08-30 Пенетрантность Serhiy Storchaka
Artem Chuprina wrote:
 Есть у меня некоторая задача, над которой я работаю некоторое время.
 Под эту задачу мне надо поставить несколько пакетов.  Часть из этих
 пакетов нужны только под эту задачу, и по завершении работ их надо
 снести.  Часть нужны под несколько задач, и их надо снести, когда все
 задачи завершены.  Часть нужны просто для жизни, поставлены вручную, и
 их сносить вообще не надо.  Ну, то есть нормальная система зависимостей,
 которую умеет отслеживать apt.

Спасибо за вопрос. Сам задавал его себе и с интересом прочитаю ответ.

Удивлён, что такой функции нет в стандартных пакетных менеджерах. Нужны 
всего две команды — добавить данный пакет в пользовательский метапакет-
задачу и убрать. А дальше update любым способом.

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


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/i5gsbj$du...@dough.gmane.org



Re: про копирование адреса из айсвисла

2010-08-17 Пенетрантность Serhiy Storchaka
Dmitry E. Oboukhov wrote:
 s При копировании адреса из айсвисла любым известным мне
 s спобосом он попадает в буфер закодированным c URL encoding.
 
 s Неужели это парит только меня, и можно ли это как-нибудь отключить?
 
 я еще помню то время когда было наборот   вот это было отвратительно:
 взять адрес и вставить в комстроку вгету было невозможно если там
 пробелы или русские символы имеются. теперь все ок.

А при копировании имени файла звёздочку никто не экранирует?



-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/i4eqti$u1...@dough.gmane.org



Re: Вьюер больших картинок

2010-08-12 Пенетрантность Serhiy Storchaka
Victor Wagner wrote:
 Господа, а кто-нибудь в курсе, есть ли сейчас в дистрибутиве вьюер,
 способный эффективно работать с большими растровыми картинками?

eog обещают.

Description: Eye of GNOME graphics viewer program
 eog or the Eye of GNOME is a simple graphics viewer for the GNOME
 desktop which uses the gdk-pixbuf library.  It can deal with large
 images, and zoom and scroll with constant memory usage.  Its goals are
 simplicity and standards compliance.

Но врут.


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/i416oc$1a...@dough.gmane.org



Re: DVD-плеер

2010-08-11 Пенетрантность Serhiy Storchaka
Dmitry Nezhevenko wrote:
 Плюс внешний вид Qt/GTK IMHO заметно
 приятнее чем тот же Motif или Tk.

Ну сейчас начнётся.


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/i3u20a$f6...@dough.gmane.org



Re: Создание множества файлов.

2010-07-09 Пенетрантность Serhiy Storchaka
Игорь Чумак wrote:
 Taylor конечно авторитет в программировании, раз сколько языков знает ;)
 (правда, меня смущает постулат Never invoke 'tr' when 'cat' is
 sufficient. Не могу придумать разумный пример). )

Думаю, он имел в виду -vET или -s. Тут я с ним не могу согласиться.



-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/i17fft$3e...@dough.gmane.org



Re: Создание множества файлов.

2010-07-04 Пенетрантность Serhiy Storchaka
Dmitry Fedorov wrote:
 3 июля 2010 г. 1:52 пользователь  yuri.nefedov написал:
 On Fri, 2 Jul 2010, Jurij Iljuschko wrote:

 cat file.list |
 
 Плохому молодёжь учите.

В скрипте, конечно, котов лучше не дудеть, а вот в однострочнике мне так
удобнее. Просто в процессе отладки после cat может ещё не один фильтр в
конвейер влепиться.



-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/i0q5ri$tq...@dough.gmane.org



Re: Создание множества файлов.

2010-07-04 Пенетрантность Serhiy Storchaka
Denis Feklushkin wrote:
 xargs --replace cp template {}  file.list

Изменим ТЗ. Пробелы в списке файлов заменить на подчёркивания.

Ещё раз изменим ТЗ. То же, кроме начальных и конечных, их удалить.

И ещё раз изменим ТЗ... И ещё...


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/i0q67k$1k...@dough.gmane.org



Re: Создание множества файлов.

2010-07-04 Пенетрантность Serhiy Storchaka
yuri.nefe...@gmail.com wrote:
   man xargs
 
   что-то типа
   cat file.list | xargs --replace cp template {}
   (Можно и без replace, но мне так нравится больше.)

This option is deprecated; use -I instead.


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/i0q69p$1k...@dough.gmane.org



Re: Создание множества файлов.

2010-07-04 Пенетрантность Serhiy Storchaka
Dmitry Fedorov wrote:
 4 июля 2010 г. 21:38 пользователь Serhiy Storchaka написал:
 В скрипте, конечно, котов лучше не дудеть, а вот в однострочнике мне так
 удобнее. Просто в процессе отладки после cat может ещё не один фильтр в
 конвейер влепиться.
 
 cat - первый в конвейере, а значит file достаточно для любого варианта
 такого конвейера.
 Так что идите за наградой.

Я не о достаточности, а об удобстве. К какой команде file ?


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/i0qj48$5q...@dough.gmane.org



Re: как бороться с метапакетами?

2010-06-26 Пенетрантность Serhiy Storchaka
whereis whoami wrote:
 Захотелось удалить evolution, а aptitude предлагает выпилить весь гном,
 ибо метапакет. Т.е. куча всякого мне не нужного прибито гвоздями к понятию
 гноме-десктоп %) Если ли штатный  гвоздодер с надписью debian-way,
 разобрать чтобы метапакет этот и зависимости нормальные оставить только?

Штатный метод — aptitude в интерактивном режиме. Нажать - на evolution и
взаимных зависимостях (evolution-plugins, evolution-common), нажать g,
посмотреть, что собирается удалить нужного и прибить его
гвоздями. Esc, g, повторить.


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/i047c3$v3...@dough.gmane.org



Re: Очередной вопрос по правам UNIX

2010-06-19 Пенетрантность Serhiy Storchaka
Malcolm Reed wrote:
 Да. Но можно сделать каталог с правами 0770 принадлежащий более широкой
 группе и в нем каталог c правами 0775 принадлежащий более узкой группе,
 которой можно писать. Как-то так, кажется.
 
 Вы явно где-то ошиблись.

У внешнего каталога права 0750, у внутреннего -- 0770. Кому надо и читать и
писать, принадлежат к обоим группам, кому только читать -- к внешней.


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/hvi43e$th...@dough.gmane.org



Re: как писать GUI?

2010-06-19 Пенетрантность Serhiy Storchaka
Ed wrote:
 Пожалуй и всё пока. Повторюсь, главное - простота и удобство.

Если потребности скромны -- Xdialog/zenity/kdialog. Если посложнее --
посмотреть kommander. Ещё серьёзнее -- Tcl/Tk, придётся нырнуть с головой,
но потом станет просто. Если очень захотеть, то и от вырвиглаза избавиться
можно (я видел результат не хуже Gtk). Для совсем сложного и нетривиального
GUI придётся использовать Qt/Gtk.


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/hvi4tb$vo...@dough.gmane.org



Re: программистам: отличить друг от друга файловые системы

2010-06-01 Пенетрантность Serhiy Storchaka
Dmitry E. Oboukhov wrote:
 есть ли еще способы различить файловые системы?

stat(2), поле stat.st_dev.



-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/hu3qqh$eo...@dough.gmane.org



Re: ubuntu: с 1 апреля

2010-04-02 Пенетрантность Serhiy Storchaka
Илья wrote:
 01.04.10, 17:40, Denis Feklushkin denis.feklush...@gmail.com:
  у них там что-то с табуляцией или локализацией и название столбиков
  съезжают
 
 Это шняга связана с локализацией,  переводчик их на форуме мне сказал, что
 их инструмент кажется розета режет концевые пробелы и они ничего с этим
 поделать не могут. Уже который год не могут исправить. :)

А \040 не помогает?



-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/hp4221$ob...@dough.gmane.org



Re: ftp в mc - странности

2010-03-25 Пенетрантность Serhiy Storchaka
Nicholas wrote:
 Serhiy Storchaka wrote:
 .mc/ini
 ftpfs_use_passive_connections=1
 Options | Virtual FS | Use passive mode
 
 Что характерно, по умолчанию включено.
 
 Видимо сам же и правил, и теперь понятно почему:
 Проблема все равно осталась - в passive mode соединяется, показывает все
 файлы, но на аплоуде - отсылает один-два файла и замирает на 100% на 4
 минуты, трафика в это время нет. Потом опять отсылает и замирает.
 Может есть какие то другие рекомендованные опции для этого варианта ?

http://www.midnight-commander.org/

http://mail.gnome.org/mailman/listinfo/mc

mc-...@conference.jabber.ru



-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/hogf7s$j4...@dough.gmane.org



Re: ftp в mc - странности

2010-03-24 Пенетрантность Serhiy Storchaka
Nicholas wrote:
 Oleg A. Anisimov wrote:
 Использую одни и теже логин/пасс в FF и MC:
 Браузер, очевидно, использует пассивный режим, в отличие от...
 
 Действительно
 
 .mc/ini
 ftpfs_use_passive_connections=1
 
 исправило ситуацию.
 
 Что интересно - когда редактировал .mc/ini через сам mc , при
 перезапуске значения сбрасывались. Получилось засейвить кильнув mc
 после правки.

Options | Virtual FS | Use passive mode

Что характерно, по умолчанию включено.



-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/hoda17$mt...@dough.gmane.org



Re: /home, установка debian

2010-03-23 Пенетрантность Serhiy Storchaka
Павел Марченко wrote:
 верно и еще удалить все папки настроек локальных приложений, т.к.
 могут быть конфликт версий конфигов
 что-то вроде rm -rf /home/%user%/.*

Например .kde или .mozilla-thunderbird, в которых лежит почта.



-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/hoac8g$mr...@dough.gmane.org



Re: /home, установка debian

2010-03-23 Пенетрантность Serhiy Storchaka
Andrey Rahmatullin wrote:
 On Tue, Mar 23, 2010 at 11:28:15AM +0300, Anton Kovalenko wrote:
 А у вас-то какой?
 zsh, какой ещё может быть шелл.

Помимо default city и default os появился default shell?


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/hoacea$mr...@dough.gmane.org



Re: /home, установка debian

2010-03-23 Пенетрантность Serhiy Storchaka
Павел Марченко wrote:
 23 марта 2010 г. 14:32 пользователь Andrey Rahmatullin
 w...@altlinux.org написал:
 On Tue, Mar 23, 2010 at 02:31:23PM +0200, Serhiy Storchaka wrote:
  верно и еще удалить все папки настроек локальных приложений, т.к.
  могут быть конфликт версий конфигов
  что-то вроде rm -rf /home/%user%/.*
 Например .kde или .mozilla-thunderbird, в которых лежит почта.
 Угу, и это один пример из множества.

 такие папки обычно бэкяпятся

Может тогда mkfs.ext3 быстрее будет?


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/hoad5q$rm...@dough.gmane.org



Fossil TCL

2010-03-23 Пенетрантность Serhiy Storchaka
Alexey Pechnikov wrote:
 Идейно это распределенная нереляционная база данных:
 http://www.fossil-scm.org/index.html/doc/tip/www/theory1.wiki

Любопытно, что But in the case of Fossil, the use of TCL was actually
making the code longer and more difficult to understand. Что они с этим
тиклем делали?


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/hoae5k$rm...@dough.gmane.org



Re: ftp в mc - странности

2010-03-23 Пенетрантность Serhiy Storchaka
Nicholas wrote:
 Использую одни и теже логин/пасс в FF и MC:
 в броузере
 ftp://login@domain.ru:pass@domain.ru
 дает доступ к фтп (и отображает папки и файлы),
 а в mc 4.6.1 (.mc/hotlist)
 ENTRY domain.ru URL /#ftp://login@domain.ru:pass@domain.ru
 коннектится без вопросов, но показывает 0 файлов/директорий ?
 
 почему ?

cd /#ftp:login:pass@domain.ru



-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/hob3st$m0...@dough.gmane.org



Re: GCC генерирует неправильный код?

2010-03-15 Пенетрантность Serhiy Storchaka
Dmitry Nezhevenko wrote:
 Нет, это то что выдает sizeof(). Туда, например, можно безопасно положить
 указатель.

Разве?


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/hnlvjj$u2...@dough.gmane.org



Re: GCC генерирует неправильный код?

2010-03-15 Пенетрантность Serhiy Storchaka
Oleksandr Gavenko wrote:
 Недавно же стала доступна
 
 The New C Standard. An Economicand Cultural Commentary
 
 http://www.knosof.co.uk/cbook/cbook.html

Очень понравился список в разделе Tools. Особенно первый пункт.


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/hnlvtm$u2...@dough.gmane.org



Re: Есть такая буква

2010-02-27 Пенетрантность Serhiy Storchaka
Andrey Zhidenkov wrote:
 Я как-то хотел написать похожую программу. Основная задача состоит в том,
 чтобы определить для какого набора символов есть изображения в файле
 шрифта. Какие шрифты вы имеете ввилу - TTF или X11?

Любые. При выборе шрифта для интерфейса, редактора или браузера важна не
только метрика и начертание, но и наличие в шрифте всех необходимых
символов. Есть немало инструментов для визуализации определённой строки в
выбранном шрифте, но перебирать вручную всю сотню установленных шрифтов
(большинство из которых не подходит) как-то скучно.

 Есть идея поковыряться в libXfont по поводу сабжа. Если что-нибудь найду,
 могу взяться за программирование. Тут есть спецы по форматам TTF?

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


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/hmb0j4$d2...@dough.gmane.org



Re: Есть такая буква

2010-02-27 Пенетрантность Serhiy Storchaka
Иван Лох wrote:
 fc-list -v [pattern]
 
 даст среди прочего
 
 charset:
 
 это и есть именно то, что Вы ищете

Что-то

fc-list -v '*sans*' 

даёт нифига.

Или в каком формате шаблон записывается? Мана нет.


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/hmb0p4$d2...@dough.gmane.org



Re: Есть такая буква

2010-02-27 Пенетрантность Serhiy Storchaka
Иван Лох wrote:
 On Sat, Feb 27, 2010 at 11:48:07AM +, Serhiy Storchaka wrote:
 Или в каком формате шаблон записывается? Мана нет.
 
 fc-list -v :family=Arial
 
 Но проще взять любой биндинг fontconfig все это есть в API
 Все-равно, то что выдает fc-list не очень human friendly

Опытным путём получил что-то из fc-list :family=Arial charset. Но понятным
это что-то назвать трудно.


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/hmb98e$7i...@dough.gmane.org



Re: hexview

2010-02-23 Пенетрантность Serhiy Storchaka
George Shuklin wrote:
 Обнаружил, что очень не хватает хорошего 16-ричного (и вообще,
 двоично/бинарного) вьюера, который бы не тащил файлы по 4-8Гб в память
 целиком.
 
 biew/hiew/фаровский вьюер и т.д.
 
 Есть что? Если оно будет ещё хорошо масштабироваться (не строго 80
 колонок), ей цены не будет.

Вы не поверите — hexedit.



-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/hm0gbr$69...@dough.gmane.org



Re: Есть такая буква

2010-02-18 Пенетрантность Serhiy Storchaka
Artem Chuprina wrote:
 Serhiy Storchaka - debian-russian@lists.debian.org  @ Thu, 18 Feb 2010
 07:54:20 +:
  SS Неплохо бы аналогичное и для неустановленных шрифтов из репозитария.
 
 Последнее пожелание особенно изящно...

Желать — так с размахом.


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/hljdej$k2...@ger.gmane.org



Re: Русские словари ООo

2010-02-18 Пенетрантность Serhiy Storchaka
Artur G. Sibagatullin wrote:
 Если это действительно действующие правила русского языка, то и вопроса
 собственно нет. Из этих правил совершенно понятно, где надо обязательно
 её писать, а где нет. Во всех остальных случаях кому как нравится так и
 пишет. Тогда нормальным выходом я думаю будет сделать словарь mixed как
 вы предложили.

Нет уж. Тогда делать два словаря — чтобы можно было отловить записанные
через «е» вместо «ё» (хотя часть таких случаев).


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/hljdlq$k2...@ger.gmane.org



Re: Есть такая буква

2010-02-18 Пенетрантность Serhiy Storchaka
Artem Chuprina wrote:
 Serhiy Storchaka - debian-russian@lists.debian.org  @ Thu, 18 Feb 2010
 12:56:27 +:
SS Неплохо бы аналогичное и для неустановленных шрифтов из
репозитария.
   Последнее пожелание особенно изящно...
  SS Желать — так с размахом.
 
 Тогда уж сразу и для шрифтов, отсутствующих в репозитории, а заодно и
 для шрифтов, отсутствующих в природе...

Эти случаи меня мало интересуют.



-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/hlje6g$n0...@ger.gmane.org



Re: Русские словари ООo

2010-02-18 Пенетрантность Serhiy Storchaka
Alexander GQ Gerasiov wrote:
 Thu, 18 Feb 2010 13:00:19 +
 Serhiy Storchaka storch...@gmail.com wrote:
 Нет уж. Тогда делать два словаря — чтобы можно было отловить
 записанные через «е» вместо «ё» (хотя часть таких случаев).
 Если есть возможность - да надо. Но пока у нас только один словарь, он
 должен быть mixed. Но если хочется иметь словарь с несколькими версиями
 - это придется делать самому. Могу помочь, если возмешься.

Мне нужен словарь с обязательной «ё».



-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/hlk3gm$8c...@ger.gmane.org



Есть такая буква

2010-02-17 Пенетрантность Serhiy Storchaka
Как можно узнать, в каких шрифтах содержится определённый символ?

Хотелось бы инструмент, который на входе принимал бы строку символов, а на
выходе давал бы список установленных в системе шрифтов, содержащих каждый
из этих символов, а ещё лучше — и показывал бы строку во всех этих шрифтах
(а то одному коду ведь могут разные изображения соответствовать).

Неплохо бы аналогичное и для неустановленных шрифтов из репозитария.


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/hliro5$qg...@ger.gmane.org



Re: русификация и переключение раскладок

2010-02-16 Пенетрантность Serhiy Storchaka
alexander barakin wrote:
 On Tue, Feb 16, 2010 at 07:57:27PM +0300, Artem Chuprina wrote:
 это позволяет превысить предел в 4 группы, хотя я
 не знаю живых людей, пользующихся более чем тремя
 
 есть такие буквы в этом слове. но больше четырёх и мне не требуется.
 поэтому и не экспериментировал с n4. но никаких теоретических
 препятствий к динамическому переназначению содержимого групп не
 наблюдаю. разве что иксы в конце концов могут лапки поднять от
 такого беспредела.

Kxkb, например, так и работает.


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/hletaa$iv...@ger.gmane.org



Re: Русские словари ООo

2010-02-16 Пенетрантность Serhiy Storchaka
Victor Wagner wrote:
 On 2010.02.17 at 09:12:31 +0300, Artur G. Sibagatullin wrote:
 Лично моё мнение. что буква ё -- полноценная буква русского алфавита и
 ей надо пользоваться пока она в нём есть. Ею раньше не пользовались
 из-за технических проблем при печати, сейчас это не так. Зачем же из
 ёлки делать елку? А вообще это холивар :)
 
 Что забавано, организации, занимающиеся официальным принятием норм
 русского языка, сделали букву ё необязательной как раз тогда, когда
 программисты научились нормально её обрабатывать.
 
 Сейчас аналогичная фигня происходит с национальными стандартами на
 криптографию. Только-только хотя бы в одном OpenSource продукте
 появилась полноценная поддержка ГОСТ-овских алгоритмов, как в Думу
 внесен новый закон об электронной подписи, который должен признать в
 России RSA.

Система с о-о-о-о-очень большим временем отклика. Королевский жираф
называется.


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/hlg3mg$ma...@ger.gmane.org



Re: Получение информации о файлах в rar архиве

2010-02-15 Пенетрантность Serhiy Storchaka
Alexey Pechnikov wrote:
 Имя файла - последнее в строке. Так что задача получения имени файла
 идентична cut -f$N- возвращает конец строки, включая поле $N

cut -d ' ' -f$N- не сложнее.


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/hlbroq$b5...@ger.gmane.org



Re: Получение информации о файлах в rar архиве

2010-02-15 Пенетрантность Serhiy Storchaka
Alexey Pechnikov wrote:
 Откуда настойчивое желание вручную всем утилитам разделитель указывать?
 По умолчанию таб, пусть таковым и остается, зачем менять-то?

OFS по умолчанию пробел, зачем менять-то?

Откуда у человека, путающегося с пробелами и табуляциями в редакторе,
желание использовать эту самую табуляцию как разделитель?


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/hlbt4a$ei...@ger.gmane.org



Re: Получение информации о файлах в rar архиве

2010-02-15 Пенетрантность Serhiy Storchaka
Alexey Pechnikov wrote:
 On Monday 15 February 2010 17:35:47 Maxim Nikulin wrote:
 Алексей, а в чем проблемы с p7zip-rar? формат вывода вроде тот же, что и
 у 7z.
 
 Тогда для обработки rar-архивов придется ставить 7zfull, и ладно бы еще он
 свободный был. rar при желании можно и свободный поставить, если обработка
 кириллицы в архивах и формата новых версий некритична.

С каких пор LGPL перестала быть свободной?


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/hlbtcc$ei...@ger.gmane.org



Re: Получение информации о файлах в rar архиве

2010-02-14 Пенетрантность Serhiy Storchaka
Alexey Pechnikov wrote:
 Интересует размер файла, дата добавления в архив или дата последней
 модификации, имя файла в архиве. Для zip,7z, etc. все легко и просто -
 вывели список файлов в архве, грепнули, позвали awk и готово. Но вот
 rar архив отличился - имя файла выдает _первым_ аргументом, а не
 последним! Спрашивается, что с этим финтом делать. Думал про реверс
 строки - но потом придется как-то соединять с отдельно извлекаемыми
 именами файлов. Возможно, что из подробного листинга надо вычесть
 краткий (только имена файлов) и потом распарсить - но можно ли это
 сделать в шелле и без создания временных файлов?

sed -nre '/^-+$/,/^-+$/{s/ (.*) +([0-9]+) +[0-9]+ +[0-9]+% 
+([0-9]+-[0-9]+-[0-9]+) +([0-9]+:[0-9]+) +[^ ]+ +[^ ]+ +[^ ]+ +[^ ]+$/\2 \3 \4 
\1/p}'

 P.S. unrar-free кириллицу в именах не понимает. Это лечится или только
 unrar-nonfree придется использовать?

Можно поиграться локалью и перекодировками. Костыль тот ещё будет. В любом 
случае большинство архивов rar сейчас версии 3+, поэтому unrar-nonfree 
неприменим.


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/hl90t5$eg...@ger.gmane.org



Re: Получение информации о файлах в rar архиве

2010-02-14 Пенетрантность Serhiy Storchaka
Andrey Rahmatullin wrote:
 On Sun, Feb 14, 2010 at 04:32:41PM +0200, Serhiy Storchaka wrote:
 Можно поиграться локалью и перекодировками. Костыль тот ещё будет. В
 любом случае большинство архивов rar сейчас версии 3+, поэтому
 unrar-nonfree неприменим.
 *unrar-free

Да.



-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/hl91q3$gn...@ger.gmane.org



Re: Получение информации о файлах в rar архиве

2010-02-14 Пенетрантность Serhiy Storchaka
Alexey Pechnikov wrote:
 Фантастика! А если в архиве поддиректории есть, возможно в такой же формат
 привести?

sed -re '1,/^-+$/d;/^-+$/,$d' \
| while read name  read size packed ratio date time attr crc meth ver
do
echo $size $date $time $name
done

Или сразу вместо echo исполнять необходимые действия.

Можно и на чистом sed-е сделать. Ну а на перле/питоне/тикле будет не
сложнее.

 То есть в зависимости индексатора нужно ставить non-free версию?

unrar | rar
Нет нужды в unrar, если rar уже стоит.


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/hl99h8$6s...@ger.gmane.org



Re: Получение информации о файлах в rar архиве

2010-02-14 Пенетрантность Serhiy Storchaka
Alexey Pechnikov wrote:

 awk 'BEGIN {OUT=0} /^-/ {BASE=NR; OUT=!OUT} /^[^-]/ { if (OUT) { if
 ((NR-BASE)%2) { FILENAME=substr($0,2) } else {print $1, \t, $4, $5,
 \t, FILENAME } } }'

Можно и так (только \t лишние). Или короче:

awk '/^-+$/ {OUT+=1; next}
OUT==1 {FILENAME=substr($0,2); getline; print $1, $4, $5, FILENAME}'


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/hl9ajg$8p...@ger.gmane.org



Re: Получение информации о файлах в rar архиве

2010-02-14 Пенетрантность Serhiy Storchaka
Serhiy Storchaka wrote:
 Можно и на чистом sed-е сделать.

sed -nre '1,/^-+$/d;/^-+$/,$d;N;s/ (.*)\n +([0-9]+) +[0-9]+ +[0-9]+% 
+([0-9]+-[0-9]+-[0-9]+) +([0-9]+:[0-9]+) .*$/\2 \3 \4 \1/p'

Но на shell или скриптовом языке общего назначения разумеется гибче будет.



-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/hl9b61$b2...@ger.gmane.org



Re: Получение информации о файлах в rar архиве

2010-02-14 Пенетрантность Serhiy Storchaka
Alexey Pechnikov wrote:
 On Sunday 14 February 2010 20:18:18 Serhiy Storchaka wrote:
 Можно и так (только \t лишние).
 
 \t не лишние, поскольку результат еще надо потом разобрать на поля и в
 базу сложить. Я там на всякий случай зарезервировал 4 поля на усмотрение
 пользователя, ежели кому захочется дополнительную информацию собирать.
 А уж распарсить строку с фиксированным числом полей, разделенных табом,
 далее уже элементарно.

Лишнее, потому что на самом деле разделитель получается  \t . Если уж так
хочется использовать табуляцию, то OFS=\t (или конкатенация вместо
запятой). Но причин предпочесть табуляцию пробелу нет (не забываем, что
табуляция тоже может встретится в имени).



-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/hl9f71$o7...@ger.gmane.org



Re: Получение информации о файлах в rar архиве

2010-02-14 Пенетрантность Serhiy Storchaka
Alexey Pechnikov wrote:
 On Sunday 14 February 2010 21:36:55 Serhiy Storchaka wrote:
 Лишнее, потому что на самом деле разделитель получается  \t .
 
 Это только если запятые ставить.

Вот именно.

 Если уж так
 хочется использовать табуляцию, то OFS=\t (или конкатенация вместо
 запятой). Но причин предпочесть табуляцию пробелу нет (не забываем, что
 табуляция тоже может встретится в имени).
 
 В имени _файла в архиве_? Сомневаюсь.

Запросто. Даже \n схарчит, но тут уж ничего не поделаешь, неоднозначность
не разрешить.


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/hl9iih$1c...@ger.gmane.org



Re: bash или dash

2010-02-12 Пенетрантность Serhiy Storchaka
Сергей Крайко wrote:
 On Fri, 12 Feb 2010 11:12:05 +0300
 Mikhail A Antonov b...@solarnet.ru wrote:
 Это значит что скрипты, зовущие /bin/sh будут фактически звать dash
 вместо bash.
 Это понятно. Но меня интересует в терминале какая оболочка будет?

Какая назначена. См. /etc/passwd.


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Обработка книг формата fb2

2010-02-12 Пенетрантность Serhiy Storchaka
Alexey Pechnikov wrote:
 On Friday 12 February 2010 00:56:45 Serhiy Storchaka wrote:
 Если хуже — написать собственный парсер, аналог tidy.
 
 Интересуют готовые решения, я вовсе не планирую для сотен различных
 форматов обработчики с нуля писать, это нереально и лишено смысла к тому
 же. Вопрос в том, чтобы собрать существующие утилиты.

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

 enconv не справится с документами, где текст в latin1, кодировка указана
 windows-1251, и имя составителя кириллицей. Одна из моих утилит лечит
 подобные ошибки.
 
 Пока что у меня на 2 гигах (тысяч 8 файлов, не считая такого же количества
 html-страниц - я их не выкидывал пока, т.к. обработка html задача
 стандартная, пусть себе тестируются) ошибок распознавания кириллицы не
 видно.

Я о некиррилических документах.

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

Показывал. Раньше в ветке.


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: bash или dash

2010-02-12 Пенетрантность Serhiy Storchaka
Сергей Крайко wrote:
 Скажу другими словами:
 Сейчас при создании нового пользователя по умолчанию предлагается bash,
 что предложит debian 6 - dash или всё же bash

bash


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Обработка книг формата fb2

2010-02-12 Пенетрантность Serhiy Storchaka
Alexey Pechnikov wrote:
 Хм. Мелкое и шустрое, говорите...

Не говорю. Но за три часа прогнало мою библиотеку из 25 тыс. файлов.
Достаточно.

 $ time echo|dash

$ time echo|/bin/true

 А перловой версии случаем нет, раз уж проект fb2-perl-tools?

Нет. Но для вас ведь не составит труда переписать на шашечках^W тикле?


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: как демонизировать программу?

2010-02-12 Пенетрантность Serhiy Storchaka
Dmitri V. Ivanov wrote:
 On Thu, Feb 11, 2010 at 07:29:04PM +0300, Artem Chuprina wrote:
 А утилита для открытия файлов, сокетов и прочей фигни называется socat.
 Вот это - утилита, которая умеет ровно открыть и поделиться
 дескриптором.  Но умеет это хорошо.  В отличие от.
 
 Спасибо. Интересная утилита. Не знал о такой...

Аналогично.


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Обработка книг формата fb2

2010-02-11 Пенетрантность Serhiy Storchaka
Alexey Pechnikov wrote:
 В процессе обработки выяснилось, что библиотеки содержат жуткую смесь
 валидных и невалидных документов. Пытаюсь выправить чем-то вроде
  
 exec cat $2 | enconv | sed 's/?xml version=1.0 encoding=.*/?xml
 version=1.0 encoding=utf-8?/' | tidy -q -xml -utf8 2/dev/null |
 xsltproc $STYLE -
 
 но и так не все документы успешно преобразуются, выдавая ошибки xml. Может
 ли кто предложить лучший способ? Замечу, что исходный контент мы не
 модифицируем, необходимо все преобразования выполнять на лету и побыстрее
 (выше приведенная штука ощутимо тормозит). С кодировками вроде проблема
 решена с помощью enconv.

Если дело только в амперсанде, поможет
sed -e 's//\amp;/g;s/amp;amp;/\amp;/g'

Если хуже — написать собственный парсер, аналог tidy.

enconv не справится с документами, где текст в latin1, кодировка указана
windows-1251, и имя составителя кириллицей. Одна из моих утилит лечит
подобные ошибки.


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Анонс: легковесная система полнотекстового поиска

2010-02-10 Пенетрантность Serhiy Storchaka
Alexey Pechnikov wrote:
 On Saturday 06 February 2010 12:01:25 Serhiy Storchaka wrote:
 В идеале программа должна уметь принимать список файлов как из командной
 строки, так и из файла или stdin (при указании специального ключа).
 
 poisk-cmdline file1 ... fileN | poisk-files-add

Чем это лучше
(echo file1; ... echo fileN) | poisk-files-add
?

Особенно для одного файла.


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Продолжение [вопрос с библиотекой решен]

2010-02-10 Пенетрантность Serhiy Storchaka
Alexey Pechnikov wrote:
 On Tuesday 09 February 2010 23:42:08 Serhiy Storchaka wrote:
  Десятикратная разница в скорости показывает проблему реализации. Но все
  равно непосредственно сам поиск как минимум на два порядка быстрее,
  нежели построение фрагмента с найденным текстом.
 
 Это вы тестируете когда база закеширована в памяти? На стогигабайтной
 базе с случайным запросом результаты будут несколько отличаться.
 
 Поскольку эскулайт - файловая СУБД, то _умеет_ работать с данными, не
 кэшируя всю базу или значительную ее часть в ОЗУ. Стогиговую базу я
 тестировал много лет назад, когда еще только начинал работать с эскулайт,
 и скорость выборки записи по ключу была весьма высокой (на машинке с 1 Гб
 ОЗУ, точных цифр сейчас просто не помню). Проблемы есть при заполнении
 больших таблиц (неоптимальная работа с индексами), а с выборками все
 хорошо.

Если объём записи достаточно большой (содержимое документа) и исключить
кеширование (большая база и не повторяющийся запрос), то извлечение
содержимого из файла и из базы будет мало отличаться.


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: как демонизировать программу?

2010-02-10 Пенетрантность Serhiy Storchaka
Alexey Pechnikov wrote:
 On Wednesday 10 February 2010 20:26:34 Dmitry E. Oboukhov wrote:
 AP Покажите задачу, которую решает демонизация процесса.
 
 отвязка от терминала, родителя и каталога запуска?
 больше ничем демон от программы вроде не отличается
 
 Это не задача, это средство. А вот для решения какой задачи это
 средство пригодно? :-)

Солдат спит — служба идёт.

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

Недавние исследования (в соседней теме) показали, что всего лишь немногие
сотни.


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: как демонизировать программу?

2010-02-10 Пенетрантность Serhiy Storchaka
Alexey Pechnikov wrote:
 On Wednesday 10 February 2010 22:41:57 Serhiy Storchaka wrote:
  замечу, что снижение цены форка не будем
  обсуждать - недавно я уже показывал, что на современном десктопе
  легко можно многие тысячи форков в секунду выполнять, что явно
  на порядки превосходит потребности всех демонов, вместе взятых.
 
 Недавние исследования (в соседней теме) показали, что всего лишь немногие
 сотни.
 
 Обманываете. Около 7 000 на одно ядро кореквадро. А если вы опенофис
 хотите тысячи раз в секунду запустить, к цене форка отношения это не
 имеет.

Ошибаюсь (я пускал не 1000, а 1 итераций).


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: каким документом регулируются имена юзеров системы?

2010-02-09 Пенетрантность Serhiy Storchaka
Denis Feklushkin wrote:
 Столкнулся с тем что юзернеймы, содержащие / обрезаются до слэша при
 логине через ssh и совсем не пускаются при попытке зайти локально (через
 su)
 
 Хотел обозвать внесистемных юзеров таким образом: vovan/root, вроде и
 kerberos такое одобряет

Из исходников adduser и addgroup:
^[_.a-za-z0-9]...@_.a-za-z0-9]*\$?$

*А также* ограничивается параметром NAME_REGEX в /etc/adduser.conf (по
умолчанию ^[a-z][-a-z0-9]*$).


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Продолжение

2010-02-09 Пенетрантность Serhiy Storchaka
Alexey Pechnikov wrote:
 $ time find /tmp/* | POISK_DB=DB ./poisk-add-file.tcl

Лучше бы чтение имён файлов из stdin сделать опциональным, при указании
специального ключика.

 Сейчас 
 обрабатываю как xml, с помощью sed заменяя амперсанд (кривой
 xml в fb2 - вместо amp; в нем фигачат просто ).

Такие файлы лучше сразу отвергать.



-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Продолжение

2010-02-09 Пенетрантность Serhiy Storchaka
Alexey Pechnikov wrote:
 Утилита find в дебиане майм-тип для *.fb2 отдает как application/xml,
 так что или верить расширению, или пользоваться универсальным парсером для
 xml. В обоих случаях есть свои плюсы и минусы.

The  environment  variable  MAGIC can be used to set the default magic
number file name.

Универсальный парсер плох тем, что текст будет склеиваться и разбиваться на
строки где не следует. И содержимое тегов binary будет очень мешать при
полнотекстовом поиске.


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Продолжение

2010-02-09 Пенетрантность Serhiy Storchaka
Alexey Pechnikov wrote:
 On Tuesday 09 February 2010 15:00:18 Serhiy Storchaka wrote:
 Alexey Pechnikov wrote:
  Сейчас
  обрабатываю как xml, с помощью sed заменяя амперсанд (кривой
  xml в fb2 - вместо amp; в нем фигачат просто ).
 
 Такие файлы лучше сразу отвергать.
 
 Эдак мы рискуем выплеснуть с водой и некоторые хорошие книги. На
 либрусеке, к примеру, такие точно были.

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

Советую набор утилит для починки плохих fb2:
https://fb2-perl-tools.svn.sourceforge.net/svnroot/fb2-perl-tools/trunk/fb2-python-tools



-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Продолжение

2010-02-09 Пенетрантность Serhiy Storchaka
Alexey Pechnikov wrote:
 Спасибо, но сейчас у меня задача несколько иная - обеспечить
 индексирование оригинального набора документов. _Посоветовать_ исправить -
 хорошо, но уж никак не игнорировать. Если по уму, то все не-юникодные
 документы следует тоже выбросить, но что же тогда останется... Собственно,
 написание индексатора для набора _валидных юникодных_ документов -
 тривиально, но малополезно (в этом случае не нужны цепочки фильтров, да и
 сама обработка несложная).

Тогда и wv не подходит, на битые вордовские документы рассчитан catdoc.

И в крайнем случае натравливать на документ strings — хоть что-то, да
проиндексирует.


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: парсер rss

2010-02-09 Пенетрантность Serhiy Storchaka
Константин wrote:
 Есть задача: забрать rss с сайта, выдрать из него ссылки на полную
 новость (поле link, наск. помню), и отдать их [ссылки] по одной на выход
 [вгету с параметрами].
 
 Есть условие: строго консольно, писанины - макс. правка конфига
 (предложение написать скрипт и т.д. не рассматриваются).
 
 Есть вопрос: есть ли :) в репах что-либо реализующее заявленную
 функциональность?
 
 Заранее благодарю.
 
 ЗЫЖ гугл юзал. не помогло толком.

google:feedparser



-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Продолжение [вопрос с библиотекой решен]

2010-02-09 Пенетрантность Serhiy Storchaka
Alexey Pechnikov wrote:
 Когда каждый документ будет fb2-файлом, упакованным в zip-архив, то нужно
 достать файл из архива, преобразовать в текст и получить найденный
 фрагмент - то есть придется немало операций выполнить. Так что идея
 открывать _много_ файлов для построения выделенных фрагментов мне очень не
 нравится.

Эта идея лучше альтернатив (вспомните вашу недооценку сомнений по поводу
хранения всех текстов в базе).


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: парсер rss

2010-02-09 Пенетрантность Serhiy Storchaka
Константин wrote:
 [Для rss2mail тоже, подозреваю, придется нечто руками писать, чего
 хотелось бы сильно избежать, но похоже...]
 
 Да, знакомо. Но, как понимаю, там требуется знание питона? Тогда см.
 условие выше, ибо питон не знаю.

Ну, в любом случае писать придётся. Немного, несколько строчек. Не на
Питоне, так на Руби, на Перле (есть аналогичные библиотеки), да хотя бы на
шелле.

Например:
wget -O - $rssurl \
| xmlstarlet sel -T -t -m '/rss/channel/item/link' -v . -n \
| xargs wget



-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Продолжение [вопрос с библиотекой решен]

2010-02-09 Пенетрантность Serhiy Storchaka
Alexey Pechnikov wrote:
 Десятикратная разница в скорости показывает проблему реализации. Но все
 равно непосредственно сам поиск как минимум на два порядка быстрее, нежели
 построение фрагмента с найденным текстом.

Это вы тестируете когда база закеширована в памяти? На стогигабайтной базе с
случайным запросом результаты будут несколько отличаться.


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Анонс: легковесная система полнотекстового поиска

2010-02-06 Пенетрантность Serhiy Storchaka
Artem Chuprina wrote:
 Serhiy Storchaka - debian-russian@lists.debian.org  @ Sat, 06 Feb 2010
 10:04:19 +0200:
  SS Нет-нет. Если это пользовательская утилита, то она должна быть
  SS простой в использовании для типичных применений. Указал в кронтабе
  SS poisk-scanner /var/www/mysite — и оно молотит все файлы с
  SS подкаталогами, пропуская CVS, .svn, .htaccess, poisk.db и указанные
  SS пользователем в настройках маску *.php, файл config.ini и
  SS подкаталог private.
 
 Это если пользователь этой утилиты - ты.  А мне и, подозреваю, самому
 Алексею, скажем, нафиг не нужно пропускать там CVS, *.php и config.ini -
 их там, блин, нет и быть не может.  Зато нужно пропускать .git и удалять
 из базы то, что было удалено из файловой системы.

Тогда poisk-scanner вообще не нужен. Просто скармливаем poisk-add список
файлов. А если уж наделяем утилиту возможностью самой сканировать каталоги,
то пусть умеет и отсекать ненужное.

Хороший пример — svn add или git add.



-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Анонс: легковесная система полнотекстового поиска

2010-02-06 Пенетрантность Serhiy Storchaka
Artem Chuprina wrote:
 Serhiy Storchaka - debian-russian@lists.debian.org  @ Sat, 06 Feb 2010
 09:57:21 +0200:
  SS Достаточно -exec poisk-add.
 
 Я тоже сначала так подумал.  Но это будет, вообще говоря, другая модель
 использования.
 
 В stdin ты ему их сможешь передать сразу все, а через командную строку -
 только по частям.

В данном случае это несущественно, файлы можно обрабатывать независимо и в
произвольном порядке. В командную строку влезет достаточно, чтобы издержки
на запуск poisk-add были несущественными, принципиальной невозможности
дозаписи (как с tar cz) нет.

Плюсы — нет проблем с \n в имени файла, удобнее вызывать вручную для
одного-нескольких файлов (не нужно городить (echo ...; echo ...)|... или
даже (echo ...; echo ...)|tr '\n' '\0'), свободный stdin, через который
можно передавать дополнительные данные.

В идеале программа должна уметь принимать список файлов как из командной
строки, так и из файла или stdin (при указании специального ключа).

 При этом контент через stdin не передашь из-за 
 сложностей с преобразованием.

Вот это предложение я не понял.



-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Анонс: легковесная система полнотекстового поиска

2010-02-05 Пенетрантность Serhiy Storchaka
Можно проверять дату последней модификации файла до вычисления хэша и
определения типа mime. Это значительно ускорит повторное сканирование.

И разве в tcllib нет реализации md5, что дёргается внешний бинарник?



-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Transliteratsiia.

2010-02-05 Пенетрантность Serhiy Storchaka
Oleksandr Gavenko wrote:
 Если кому интересно имеется официальный документ
 по транслитерации из украинского в латиницу:
 

http://zakon1.rada.gov.ua/cgi-bin/laws/main.cgi?nreg=55-2010-%EFp=1264427739007490

Неплохо. Более-менее фонетично, логично, однозначно. И при этом традиционно
(давно используется в научной среде).

В паспортных столах до этого предлагали схему гораздо примитивнее.

 И понятно что имеюся расхождения с ISO 9:1995 и GOST 7.79:
 
 http://en.wikipedia.org/wiki/ISO_9

ISO 9 вообще непонятно для кого придуман. Многие буквы отображаются
латиницей с диакритикой (причём весьма хитрой), так зачем менять шило на
мыло?

GOST 7.79 довольно криптогрифичен своими `grave accent`, а передача х
как x — вообще атас. Уж лучше бы использовали quoted-printable.



-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Анонс: легковесная система полнотекстового поиска

2010-02-05 Пенетрантность Serhiy Storchaka
Alexey Pechnikov wrote:
 On Friday 05 February 2010 18:13:24 Serhiy Storchaka wrote:
 Можно проверять дату последней модификации файла до вычисления хэша и
 определения типа mime. Это значительно ускорит повторное сканирование.
 
 Проверка по mtime имхо совершенно ненадежна, предпочитаю по хэшу.

Можно ещё размер проверять (всё равно хранится). Или, для параноиков,
idev:inode.

 И разве в tcllib нет реализации md5, что дёргается внешний бинарник?
 
 Покамест tcllib не использую, ради md5 не хочется лишнюю зависимость
 тянуть. А так в моей сборке sqlite есть функция вычисления md5 для файла,
 но это не всем удобно будет.

Ещё меня удивляет, зачем там утилиты на C. Ведь на том же тикле можно
записать проще и понятнее.



-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Анонс: легковесная система полнотекстового поиска

2010-02-05 Пенетрантность Serhiy Storchaka
Victor Wagner wrote:
 On 2010.02.05 at 18:18:57 +0300, Alexey Pechnikov wrote:
 Проверка по mtime имхо совершенно ненадежна, предпочитаю по хэшу.
 
 Зато - быстра. И то недостаточно  Вот FBReader при старте делает mtime
 всем файлам, которые уже видел, так если его на миррор lib.rus.ec
 напустить, будет несколько минут  взлетать (в смысле при повторном старте,
 когда индекс библиотеки уже построен).

А при повторном запуске (пока дисковые кеши свежи)?



-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Сканирование каталогов

2010-02-05 Пенетрантность Serhiy Storchaka
Victor Wagner wrote:
 On 2010.02.05 at 17:54:25 +0200, Serhiy Storchaka wrote:
 Victor Wagner wrote:
  On 2010.02.05 at 18:18:57 +0300, Alexey Pechnikov wrote:
  Проверка по mtime имхо совершенно ненадежна, предпочитаю по хэшу.
  
  Зато - быстра. И то недостаточно  Вот FBReader при старте делает mtime
  всем файлам, которые уже видел, так если его на миррор lib.rus.ec
  напустить, будет несколько минут  взлетать (в смысле при повторном
  старте, когда индекс библиотеки уже построен).
 
 А при повторном запуске (пока дисковые кеши свежи)?
 
 Не проверял. Но для случая ежесуточно запускающегося дискового
 индексатотора это все равно неактуально.

Торможение может быть или из-за чтения каталогов (а в таких библиотеках
каждый текст лежит в своём отдельном каталоге), или из-за вызовов stat. С
первым можно справиться, перенеся все файлы в один каталог (это частично
устранит и вторую причину). Для второго нужно смотреть, не вызывается ли
stat для одного файла многократно (в врапперах для st_mode, st_mtime
st_size…), и попытаться объединить. Ну и убедиться, что самые дешёвые и
вероятные проверки стоят первыми и не изменившийся файл не читается (у
Печникова он читается 2-3 раза).


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Сканирование каталогов

2010-02-05 Пенетрантность Serhiy Storchaka
Victor Wagner wrote:
 On 2010.02.05 at 20:18:19 +0200, Serhiy Storchaka wrote:
 Торможение может быть или из-за чтения каталогов (а в таких библиотеках
 каждый текст лежит в своём отдельном каталоге), или из-за вызовов stat. С
 
 Там нифига не каждый текст был в отдельном каталоге. Когда я это
 тестировал (а это был, все же, не lib.rus.ec, а еще aldebaran),
 то там было по каталогу на автора. Это, конечно, не идеальное
 логарифмическое распределение файлов (идеальное было бы на 1 файлов
 100 каталогов по 100 файлов в каждом) но близко к тому.

Да, попутал, это на fictionbook.ru каждый fb2 был в отдельном каталоге.

 первым можно справиться, перенеся все файлы в один каталог (это частично
 устранит и вторую причину). Для второго нужно смотреть, не вызывается ли
 
 Зависит от файловой системы. Если в этой файловой системе каталоги не
 хэшированы, то десятки тысяч файлов в каталоге как раз создадут тормоза,
 а не устранят их.

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

 stat для одного файла многократно (в врапперах для st_mode, st_mtime
 st_size???), и попытаться объединить. Ну и убедиться, что самые дешёвые и
 вероятные проверки стоят первыми и не изменившийся файл не читается (у
 Печникова он читается 2-3 раза).
 
 У FBReader уже тогда было го-о-ораздо лучше. Но не настолько лучше,
 чтобы можно было все 15 книг lib.rus.ec положить на fat32 32-гиговую
 флэшку и засунуть в N800.

Я посмотрел в код — stat похоже используется только для рекурсивного обхода
(чтобы отличить регулярный файл от каталога). st_mtime вообще не увидел.
Первый запуск find на коллекции Альдебарана показал миллисекунду на файл
(второй — на два порядка меньше), вряд ли FBReader ему сильно проигрывает.

Единственное решение тут — вообще избавиться от сканирования при старте.
Запустить его в фоне.


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Анонс: легковесная система полнотекстового поиска

2010-02-05 Пенетрантность Serhiy Storchaka
Alexey Pechnikov wrote:
 А, понял. В таком случае утилиту обработки файлов переименую в poisk-add,
 велю ей список файлов принимать на stdin, а poisk-scanner сделаю оберткой.

poisk-scanner-у нужно иметь возможность указать не только, что
индексировать, но и что пропускать. По маске имени, явно указывая пути.



-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Анонс: легковесная система полнотекстового поиска

2010-02-05 Пенетрантность Serhiy Storchaka
Artem Chuprina wrote:
 Alexey Pechnikov - debian-russian@lists.debian.org  @ Sat, 6 Feb 2010
 00:51:38 +0300:
  AP find $@ 2/dev/null | poisk-add $POISKDB
 
 Ох...  Вот бы не так топорно, а хотя бы find $@ -print0, и poisk-add
 обучить по нуль-символу видеть границу имени файла.  Ибо про перевод
 строки в имени только что дискуссия была.

Достаточно -exec poisk-add. А лучше, конечно, включить код poisk-add в
poisk-scanner. Потому, что критерии, по которым можно принимать решение о
переиндексации, лежат в базе (и обновляются poisk-add).


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Анонс: легковесная система полнотекстового поиска

2010-02-05 Пенетрантность Serhiy Storchaka
Artem Chuprina wrote:
 Serhiy Storchaka - debian-russian@lists.debian.org  @ Fri, 05 Feb 2010
 23:22:07 +0200:
  SS poisk-scanner-у нужно иметь возможность указать не только, что
  SS индексировать, но и что пропускать. По маске имени, явно указывая
  SS пути.
 
 Пусть сделает poisk-add.  А poisk-scanner потом каждый нарисует себе под
 себя.  Потому что универсального решения сразу для всех не получится,
 логика выбора (баланс между достоверностью отлова изменений и затратой
 ресурсов) у каждого своя.

Нет-нет. Если это пользовательская утилита, то она должна быть простой в
использовании для типичных применений. Указал в кронтабе
poisk-scanner /var/www/mysite — и оно молотит все файлы с подкаталогами,
пропуская CVS, .svn, .htaccess, poisk.db и указанные пользователем в
настройках маску *.php, файл config.ini и подкаталог private.


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Анонс: легковесная система полнотекстового поиска

2010-02-04 Пенетрантность Serhiy Storchaka
Разве dash распространён за пределами Дебиана?


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Анонс: легковесная система полнотекстового поиска

2010-02-04 Пенетрантность Serhiy Storchaka
Alexey Pechnikov wrote:
 On Thursday 04 February 2010 11:29:40 Serhiy Storchaka wrote:
 Разве dash распространён за пределами Дебиана?
 
 Не могу сказать. Но запускается он вдвое быстрее, чем bash,
 и на обработке большого количества небольших документов
 выигрыш при использовании dash весьма заметен. Так что для
 запуска в другой ОС или поставить dash или поправить в
 фильтрах на bash (потеряв около 20% в производительности).

Тогда уж exec cat — ещё 20% выигрыша.

От untex, unrtf и т.п. зависимость должна быть мягкой. А кое где даже
вариативной — wv и unrtf можно заменить catdoc, antiword или word2x, для
w3m тоже куча альтернатив (включая w3mmee).


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Анонс: легковесная система полнотекстового поиска

2010-02-04 Пенетрантность Serhiy Storchaka
Artem Chuprina wrote:
 Alexey Pechnikov - debian-russian@lists.debian.org  @ Thu, 4 Feb 2010
 16:28:42 +0300:
  AP А можете подробнее рассказать? Я не в курсе, что с exec может быть
  быстрее.
 
 На самом деле быстрее - вряд ли.  Это потеря скорее в памяти.  exec -
 запуск без fork, с заменой бинаря по месту.  В результате запустивший
 процесс не ждет завершения запущенной команды, оставаясь шеллом и тратя
 память, а сам ею становится.

Не только. Вероятно сам fork (за которым потом всё равно следует exec) всё
же дорог. Попробуйте

time seq 1 | xargs -n 1 ./x-c /dev/null /dev/null

и то же с exec в x-c. Разница есть.



-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Анонс: легковесная система полнотекстового поиска

2010-02-04 Пенетрантность Serhiy Storchaka
Alexey Pechnikov wrote:
 Recommends и depends нынче эквивалентны. Разве что в Suggests поставить.

От Recommends отказаться можно. От Depends — нет.

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

Вот sqlite3, насколько я понимаю, можно в Suggests или вообще убрать.


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Анонс: легковесная система полнотекстового поиска

2010-02-04 Пенетрантность Serhiy Storchaka
Alexey Pechnikov wrote:
 On Thursday 04 February 2010 19:43:40 Serhiy Storchaka wrote:
 Не только. Вероятно сам fork (за которым потом всё равно следует exec)
 всё же дорог. Попробуйте
 
 time seq 1 | xargs -n 1 ./x-c /dev/null /dev/null
 
 и то же с exec в x-c. Разница есть.
 
 
 Еще какая разница - с exec _втрое медленнее_.

Не верю. Можно объяснить ускорение, можно понять отсутствие заметной
разницы, — замедление объяснить нельзя.


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



  1   2   3   4   >