LINUX.ORG.RU

Сообщения shaplov

 

Раскладки для деванагари

Форум — Desktop

Есть ли среди нас индусские программисты (;-)), или хотя бы те кто изучает хинди или другой язык индийской группы?

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

Проблемы в следующем:

1. Их там много, я выбрал какую-то фонетическую наобум, но совершенно не уверен, прав ли я. Никакой информации к списку раскладок не прилагается, а хочется выбрать что-то более или менее употребимое...

2. Я так и не осилил ввод лигатур на той раскладке: всякие र्फ и स्ल я копирую из таблицы в википедии, что в общем ни в какие ворота не лезет

Есть ли здесь кто-то, кто регулярно практикует деванагари-печатанье? Просветите меня пожалуйста!

shaplov
()

Как при помощи dig'а валидировать домен подписанный DNSSEC?

Форум — Admin

Есть у меня потребность валидировать домен подписанный DNSSEC'ом.

nox.su подписан DNSSEC'ом. http://dnssec-debugger.verisignlabs.com/nox.su это подтверждает.

http://bryars.eu/2010/08/validating-and-exploring-dnssec-with-dig/ рассказывает что валидация осуществляется командой

dig +topdown +sigchase nox.su

но для этого нужно добавить ключи корневой зоны в доверенные:

dig +nocomments +nostats +nocmd +noquestion -t dnskey . > trusted-key.key

Однако ни для nox.su ни для обсуждаемого в статье примера это не работает, заканчивая цепочку проверок словами ";; DSset is missing to continue validation: FAILED" Испоьзую dig из debian testing.

Кто-то из присутвующих разбирается в DNSSEC настолько чтобы объяснить в чем дело, и как это делать правильно?

shaplov
()

[perl] Parse::RecDescent построчная обработка

Форум — Development

Товарищи! Если тут есть кто-то понимающий в Parse::RecDescent

Есть код, задача которого парсить построчно:

$Parse::RecDescent::skip = '';

my $grammar = q{
  Page: Line(s) {print "Finished! \n"}
  Line: /^.*/   /\n|\Z/  {print "Line: '$item[1]'\n"}
};

my $parser = new Parse::RecDescent($grammar);

my $text = "aaaaa\nbbbbbb\nccccc";

if ($parser->Page($text))
{
  print "Happy!\n"
} else
{
  print "Unhapy :-(\n"
}

Однако парсер почему-то находит еще одну пустую строку в конце:

Line: 'aaaaa'
Line: 'bbbbbb'
Line: 'ccccc'
Line: ''
Finished! 
Happy!

Я че-то не понимаю почему, пытался смотреть на $::RD_TRACE = 1; но тоже не вкурил...

Кто-нибудь может объяснить почему так происходит? И как такие вещи делать правильно?

К сожалению родная рассылка полудохлая там спрашивать почти что бесполезно. Я спросил, но когда ответят — неизвесно...

 

shaplov
()

Qt3, QTextEdit: менять текст по сигналу textChange, так чтобы не падало

Форум — Development

Есть задача написать минимальный спеллчекер в RichTextEdit под _qt3_. QSyntaxHighlighter не подходит, потому что надо подсвечивать уже разукрашенный текст, а он разукраску оверрайдет.

Казалось бы, логично навесить на сигнал TextChange обработчик и расскрасить все как надо.

Однако при драг энд дропе внутри текстового поля все падает. Подробное изучение показывает что он что-то внутри QTextEdit не осиливает с позиционированием курсора...

Посему не знает ли кто, с какой стороны к этой проблеммке лучше подойти... Либо обойти эффект с курсором, либо как-то еще реализовать подсветку

example.cpp:

#include <qapplication.h>
#include <qobject.h>
#include <stdio.h>

#include <qtextedit.h> 
#include "my_highlighter.h"

void MyHighlighter::textChanged()
{
  if (! is_in_textchange)
  {
    is_in_textchange = 1;
    QString txt = m_edit->text();
    QString new_txt = 0;
    QChar last_char='*';
    int is_in_tag=0;
    for(int i=0;i<txt.length();i++)
    {
      if ( txt[i]=='a' && (last_char!='>') && (! is_in_tag))
      {
        new_txt+="<span style='color:#FF0000'>"+txt[i]+"</span>";
      } else
      {
          new_txt+=txt[i];
      }
      last_char = txt[i];
      if (txt[i]=='<') is_in_tag = 1;
      if (txt[i]=='>') is_in_tag = 0;
    }
    int para;
    int index;
    m_edit->getCursorPosition ( &para, &index );
    fprintf(stderr,"%i %i\n",para, index); 
    m_edit->setText(new_txt);
    m_edit->setCursorPosition ( para, index );
  }
  is_in_textchange = 0;
}

MyHighlighter::MyHighlighter(QTextEdit *edit)  : QObject ()
{
  m_edit = edit;
  is_in_textchange = 0;
  QObject::connect(edit, SIGNAL(textChanged()), this, SLOT(textChanged()));
}

int main( int argc, char ** argv ) 
{
        fprintf(stderr,"Starting...\n");

    QApplication a( argc, argv );
    QTextEdit * mw = new QTextEdit();
    MyHighlighter *h = new MyHighlighter(mw);
    
    mw->setCaption( "Richtext Editor" );
    mw->setText("<p><b>Bold</b></p><p><i>Italic</i></p><p>Normal</p><p><span style='color:#00FF00'>as green as possible</span></p>");
    mw->resize( 640, 800 );
    mw->show();
    a.connect( &a, SIGNAL( lastWindowClosed() ), &a, SLOT( quit() ) );
    return a.exec();
}

my_highlighter.h:

#include <qobject.h>                                                                                                                                         
                                                                                                                                                             
#include <qtextedit.h>                                                                                                                                       
                                                                                                                                                             
class MyHighlighter : public QObject                                                                                                                         
{                                                                                                                                                            
    Q_OBJECT                                                                                                                                                 
public:                                                                                                                                                      
    MyHighlighter(QTextEdit *edit);                                                                                                                          
                                                                                                                                                             
                                                                                                                                                             
public slots:                                                                                                                                                
    void textChanged();                                                                                                                                      
private:                                                                                                                                                     
   QTextEdit *m_edit;                                                                                                                                        
   int is_in_textchange;                                                                                                                                     
};  

Если в приведенном коде закомментировать

m_edit->setCursorPosition ( para, index );

то падать от драгэнддропа перестает... правда курсор тогда оказывается в начале формы :-/

PS: Менять qt3 на что-то еще в данный момент не вариант. Надстраивать QTextEdit тоже не хотелось бы... Потому что данный код — плагин.

shaplov
()

В иксах отваливается клавиатура. Куда бежать?

Форум — General

Ноутбук HP Compaq 67320s. Время от времени в иксах перестает работать клавиатура, либо вся, либо ее самая правая часть (стрелки инсерты и тп). Если мышью переключится в консольную сессию или в другую сессию иксов, то клавиатура начинает работать. То есть ошибка не аппаратная и не на уровне ядра. Системы в отваливании клавиатуры я не нашел. Разве что чаще отваливается когда ноут живет от батарейки. В еррор логе иксов ничего связанного с отваливанием клаваиатуры найти не смог. В dmseg как и ожидалось ничего нет, ведь в других сессиях все работает нормально.

Соответсвенно вопросы:

1. Как это троблшутить? Я не нашел ни одной зацепки от которой можно был бы плясать дальше, а клавиатура так и продолжает отваливаться

2. Если не чинить, то было бы хорошо найти воркэрануд. Например научиться заставлять иксы переинициализировать оборудование... Может поможет... Где о таких примудростях пишут?

shaplov
()

Следи за собой

Форум — Talks

Хочу следить за собой. А скорее посчитать сколько времени в каком x-рабочем столе я провожу активно (шевелю мышкой, печатую клавишами и т.п.). На учет активности вирт. терминала запущенного в данном столе я не надеюсь, но вдруг...

Живу под KDE4.

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

shaplov
()

Wiktionary словари для StarDict

Форум — Talks

Довел до условно продакшн вида скрипты экспортирующие словари с wiktionary.org в обычные оффлайновые словари (В данный момент StarDict и TEI). Результат доступен на http://wiktionary-export.nataraj.su/

Скрипты экспорта пока заточены только под русскую часть виктионари (ru.wiktionary.org) и умеют экспортировать оттуда иноязычно-русские словари. В автоматическом режиме оттуда экспортируются англо/французско/немецко-русские словари. Список экспортируемых словарей достаточно просто расширить, если будут заинтересованные.

Исходники (perl) доступны вот тут: svn://svn.nataraj.su/wiktionary-export/trunk

shaplov
()

Фантаст-линуксоид: Первые успехи

Форум — Talks

В толксах уже писали про писателя фантаста В. Коваленко, который предложил читателям, минуя издательство, «выкупить» его еще не написанный роман, на условиях распространения под лицензией Creative Commons:

http://www.linux.org.ru/forum/talks/5049140

http://k-und-k.livejournal.com/52397.html

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

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

shaplov
()

mono: троллизм в среде модераторов

Форум — Linux-org-ru

http://www.linux.org.ru/gallery/screenshots/4780715

См. причину удаления...

ИМХО не смешно.

shaplov
()

DVD: Добавить звуковую дорожку на существующий диск; Редактировать vob-файл

Форум — Talks

Появилось у меня желание наложить на DVD одного фильма его оригинальную французскую звуковую дорожку. Вроде на ЛОРе писали о многих тулзах для работы с DVD...

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

Тогда я попытался найти программу которая бы умела редактировать структуру .vob файла... Ну или хотя бы просматривает... Тоже не нашел...

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

shaplov
()

Сетевой сканер...

Форум — Desktop

xsane hpaio:/net/HP_LaserJet_3055?ip=192.168.1.33 -- прекрасно сканирует по сети.

kooka -d hpaio:/net/HP_LaserJet_3055?ip=192.168.1.33 -- почему-то не хочет.

Внимание вопрос, куда что написать чтобы sane по умолчанию ломилась бы на этот сканер, без указания url в явном виде? Нагугить че-то не удалось...

Дистр: Debian

shaplov
()

[пожелание] Достоп к облаку тегов не через сайтбар

Форум — Linux-org-ru

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

Думаю, что сслыка на страницу с облаком тегов было бы не плохо иметь со страницы просмотра всех новостей с конкретным тегом (http://www.linux.org.ru/view-news.jsp?tag=xxxx) Ну и возможно откуда-то еще, пока не вполне понятно откуда...

shaplov
()

xgettext работает не так как раньше?

Форум — Development

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

Например: В одном из исходных файлов, есть строка:
#if 0
i18n("Authorize request", "%n authorize requests", 1);
#endif

И в имеющихся в проекте po файлах она вполне себе присутствует:

#: plugins/_core/msgedit.cpp:640
#, c-format
msgid ""
"_n: Authorize request\n"
"%n authorize requests"
msgstr ""

Но при попытке из того же самого файла извлечь ее при помощи xgettext в результирующий файл попадает только

#: plugins/_core/msgedit.cpp:640
"_n: Authorize request\n"
msgstr ""

Извлекаю я командой

xgettext -j --foreign-user -C -ci18n -ki18n -ktr2i18n -kI18N_NOOP -kI18N_NOOP2 -kaliasLocale -d aaa msgedit.cpp

Я явно что-то делаю не так...

Особенно меня смущает что в исходном authconf'е при извлечении сообщений речь идет не о xgettext, а о kde-xgettext, которого я нигде нагуглить не могу... В репозитории дебиана такого файла нету...

Народ, help!

shaplov
()

[cmake] i18n .ui -> .po c сохранением строк (решение)

Форум — Development

Задался я вопросом сбора сообщений для i18n'ции средствами cmake без привлечения внешних шелл скриптов.

С .cpp файлами все было относительно просто. C .ui тоже не сложно, но неудовлетворение вызывал лишь один момент, в результирующий .po файл в качестве комментариев к строкам, попадали указания на автоматически сгенеренные файлы, которые ничего не говорили о реальном расположении переводимой строки в исходном коде.

А нельзя ли сделать так чтобы на время обработки xgettext'ом номера строк с сообщениями для перевода в сгенеренном cpp файле, совпали с номерами оригинальных строк из ui-файла... При этом сгенеренный cpp файл не обязан быть осмысленным, лишь бы xgettext считал его таковым.

В резултате появился вот такой скрипт: http://svn.berlios.de/viewvc/sim-im/trunk/cmake/UiToFakeCpp.cmake?revision=24...

Грубо говоря этот скрипт заменяет теги <string></string> на вызов функции i18n(""); с сохраненем номеров строк. Вычещая при этом всю лишнюю информацию, обрабатывая слеши, кавычки, переводы строк и пр. Остается лишь перед скармливанием xgettext'у присводить результату обработки расширение .ui и положить его относительно запускаемого xgettext'а так чтобы в комментарий полученного файла попал путь такой же как путь к реальному .ui файлу находящемуся в коде. В результате в .po файле будет ссылка на правильный файл, с правильным номером строки.

 

shaplov
()

qt3, ui как устроено.... (интернационализация)

Форум — Development

Пишу чисто cmake'овый сборщик сообщений для интернационализации для Sim-IM'а... Появилось желание сделать так чтобы в .po файле для строк происходящих из ui-файлов в комментариях показывали не номер строки в сгенерированном moc.cpp файле, а честный номер строки из ui файла...

По прикидкам ui файл реально отпарсить средствами cmake таким образом чтобы строки для интернационализации остались на своих номерах строк, но были заключны в i18n("");, а всю остальную информацию заменить на пробелы или комментарии. Ну и скормить эту болванку xgettext'у

В связи с этим вопросы по устройству оного ui-файла:

1. Верно ли что все сообщения для интернационализации взяты в теги <string></string> или правило более сложное? 2. Правильно ли я понимаю, что информация внутри этих тегов чувствительна к пробелам, и ситуации, когда тег на одной строке, а контент на другой, просто не может быть? 3. Как вы думаете, закладываться ли на то что в одной строке могут оказаться две строки сразу?

ну и на всякий случай, может есть какое-то уже существующее решение, о котором я не знаю...

shaplov
()

Хочу фотогаллерею на perl

Форум — Web-development

Нужна фотогаллерея, простая, и на perl.

Требования:

0. С ней должно быть удобно работать неподготовленному юзеру (так что ftp и подобное -- не подойдет)
1. в качестве базы данных -- MySQL, или вообще без нее
2. Возможность авторизации
3. Возможность создания закрытых альбомов.

Так же желательно:

4. Крайне желательна возможность отдавать фотографии через апач, не прогрняя их через перловый скрипт, но это я смогу и сам дописать.
5. Не сильно напряжный процесс установки, который не потребует детального изучения кода программы...
6. Русский перевод, или хотя бы вообще наличие интерфейса для локализации...


Пытался найти что-то на sourceforge, ничего живого не нашел. Из нежевого, попробовал AlPhoNS, но с ходу не осилил установку...

Есть ли что-то что уважаемый All может порекомендовать?

>>>

shaplov
()

PerlHandler Apache::Registry и STDOUT

Форум — Web-development

Есть cms'ка на перле, которая живет на специально скомпиленном под нее апаче (коммунивер, если это кому-нибудь о чем-нибудь говорит)

У нее есть служебные скрипты, которые доступны через веб:

<Directory /cmw/scripts>
Options -Indexes +ExecCGI
SetHandler perl-script
PerlHandler Apache::Registry
</Directory>

Скрипты эти тупо и цинично пишут то что надо в STDOUT. На части серверов это прекрасно работает. То есть работало на всех до последнего момента.

Один из серверов перевели на FC8 (с какого-то более дремучего редхатоида) и после этого скрипты перестали выдавать что либо в браузер...

Собственно говоря тестовый скрипт

#!/usr/bin/perl
use strict;
use Apache;
my $r = Apache->request;
$r->print("Content-type: text/html\n\n");
$r->print("Hi There! Test 1,2");
print ',3,4,5';

у меня на дебиане выдает в браузер цифры с 1 до 5 после приветсвия,
а на оном FC8 только 1, 2

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

Итого этот баг обходит -- понятно... Вопрос в том, откуда он взялся... Есть ли тут люди которые сталкивались с чем-то подобным, или представляют куда копать? Поделитесь опытом, плиз...

>>>

shaplov
()

Про Sim-IM

Форум — Talks

В коментах к сообщению о вышедшем licq'е прочитал кучу сожалений по поводу того что sim сдох.

Так вот, это не так. Тем кто сомнивается могу предложить посмотреть на коммит лог: http://svn.berlios.de/wsvn/sim-im/?op=log&rev=0&sc=0&isdir=1 Не скажу что развитие бурно процветает, но медленно и верно движется.

Собственно говоря за проект сейчас отвечаю я. И в основном я и noragen что-либо регулярно пишем. По большей части я.

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

Честно говоря, я не отазался бы от помощи, потому как одного меня на все сразу не хватает. Если бы кто-то взял бы на себя например работы по icq-плагину (там у нас кроме постоянных подарков AOL, так до сих пор не работает передача файлов), или еще какой-нибудь кусок, было бы очень здорово, потому как разбираться в деталях работы ICQ-протокола дело долгое, а других задач -- много. Поэтому если бы это можно было бы распаралелить, суммарно получилось бы быстрее.

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

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

Прочие важные вещи отражены здесь: http://sim-im.org/wiki/Roadmap

Так что если есть желание рашивилить сим, то милости прошу либо в рассылку https://mailman.dg.net.ua/listinfo/sim-im-russian либо мне лично на e-mail, n-shalov-ru, если по какой-то причине вам рассылка не подходит...

Спасибо за внимание ;-)

ЗЫ: тех кто считает что сим не нужен, прошу создать для обсуждения этого отдельную тему, и обсудить ее там.

>>>

shaplov
()

Напоминалка паролея: Чувствительность к регистру e-mail'

Форум — Linux-org-ru

E-Mail по своей природе не case-sensitive. Я часто для красоты пишу его с заглавной буквы...

Сейчас пытался восстановить пароль и меня отсылали всвязи с неправильностью адреса... Адрес был правильный... а вот регистр был не тот... Долго подбирал...

Было бы нехреново убрать чувствительность к регистру при сравнении e-mail адресов... иначе конфуз может получиться ;-)

>>>

shaplov
()

Французские раскладки...

Форум — General

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

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

Во-первых они все AZERTY -- очень не удобно...

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

В-третьих у меня на клавиатуре в среднем ряду букв 11 кнопок, а на картинке в википедии их там 12 http://en.wikipedia.org/wiki/Image:Belgian_pc_keyboard.svg , то есть одна из кнопок мне получается недоступна... (Раскладку строго подходящую под эту картинку я так и не нашел)

В-четвертых таки не понятно к которой из низ таки будет более правильно привыкнуть

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

Может ли кто-нибудь поделиться своим опытом на эту тему... Ведь есть же тут франкоговорящие линуксоиды ;-)

>>>

shaplov
()

RSS подписка на новые темы