07.07.09

Конвертация словарей Lingvo для StarDict

Рубрика: Linux, memory tagged , , , , в 21:17 от Engraver

Рано или поздно сидящего в линуксе человека заедает тоска по словарям уровня/объема Lingvo. Однако в эмуляторах эта прога работает жутко коряво, поэтому сейчас займемся ковертацией её словарей в формат, понимаемый StarDict’ом.

Прежде всего нужно немного хакнуть поставляемый вместе с Lingvo Dslcomp.exe. Для этого потребуется любой hex-редактор. Байты, которые нужно изменять для версий Lingvo 11 и 12 указаны соответственно в источниках знаний [1] и [3] ниже. После хака в окне Dsl compiler’а появляется недокументированная возможность конвертации словарей из формата *.lsd в кошерный *.dsl, что и нужно сделать для всех желаемых словарей.

Далее нужно воспользоваться еще одним конвертером, исходники которого можно взять отсюда в разделе Converter: many to many. Однако разрабов (или меня) чего-то проглючило и без бубна последняя стабильная на момент написания сих слов версия 0.3  не соберется. Необходимо добавить после пары строк, начинающихся с #ifndef …, #define с новой строки в файлы:

  • #include <memory> в src/parser.hpp
  • #include <string> в src/langs_2to3.hpp
  • #include <string.h> в src/normalize_tags.hpp

После этого ./configure && make && sudo make install сработало без проблем.

Далее makedict -i dsl -o stardict DictName.dsl, после чего в каталоге со словарем появится папка, содержащая три файла с расширениями *.dict, *.ifo и *.idx. Папку можно поместить в /usr/share/stardict/dic или в каталог своего пользователя ~/.stardict/dic, после чего перезапустить StarDict. Всё :)

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

  1. http://jack.kiev.ua/content/view/666/5/lang,ru/
  2. http://sovety.blogspot.com/2008/02/lingvo-11-linux.html
  3. http://brutalblog.wordpress.com/2007/12/20/1/
  4. http://xdxf.revdanica.com/forum/viewtopic.php?t=222&sid=15b306a156b5d60fa24ccffcd218ad76

06.24.09

Julia Ficher — Paganini’s Caprice No. 2

Рубрика: Music tagged , , , , в 18:25 от Engraver

06.21.09

Ландавшиц

Рубрика: Physics, Цитата tagged , в 23:05 от Engraver

Из предисловия к четвертому изданию третьего тома (Квантовая механика) в 1989 г.:

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

Е. М. Лившиц

Будем честными, с подобным феноменальным владением примерно половину курса можно было бы заменить фразой «очевидно что» :D

06.15.09

Братья Карамазовы

Рубрика: Цитата tagged , , , , в 18:31 от Engraver

1880-й год. Из печати вышли «Братья Карамазовы» Достоевского:

— … А все-таки я бы с твоим монастырьком покончил. Взять бы всю эту мистику да разом по всей русской земле и упразднить, чтоб окончательно всех дураков обрезонить. А серебра-то, золота сколько бы на монетный двор поступило!
— Да зачем упразднять, — сказал Иван.
— А чтоб истина скорей воссияла, вот зачем.
— Да ведь коль эта истина воссияет, так вас же первого сначала ограбят, а потом… упразднят.
— Ба! А ведь пожалуй ты прав. Ах я ослица, – вскинулся вдруг Федор Павлович, слегка ударив себя по лбу…

До реализации предложения Фёдора Павловича осталось около 50 лет…

06.10.09

Gentoo: нет места на системном разделе

Рубрика: Gentoo tagged , , в 22:45 от Engraver

Когда ни с того ни с сего появляется сообщение о том, что на системном разделе кончилось место, может подняться паника, особенно если еще вчера, помнится там не меньше десятка гиг было. Спасибо Gentoo mailing lists, просветили и отрекомендовали. Прежде всего нужно отмонтировать все локальные диски, абы быть уверенным, что не произошло накладок типа когда что-то вместо /home/… или /media/… пошло записываться в /root и т. п. (когда такое бывает, мне сказать трудно, но…). Но в данном случае проблема была прозаичнее: случился какой-то глюк, и syslog-ng сотворил 11 гигабайтный (!) файл, который уже для прочтения не открывался ничем.
tail /var/log/messages
я не додумался сделать, а грохнул виновника сразу. Решением проблемы, говорят, есть смена syslog-ng на metalog, который не пишет дубликаты сообщений. В Gentoo смена делается быстро:
rc-update syslog-ng delete
emerge metalog
rc-update metalog add default

06.05.09

Система управления заданиями PBS

Рубрика: Linux, Science, memory tagged , , , , , , в 09:24 от Engraver

Часто для управления выполнением пользовательских задач на кластере используют систему PBS. Она очень проста в использовании, но разрозненные в сети сведения о том, как нужно с ней работать, хотелось бы собрать в одном месте, что я и попытаюсь ниже сделать.

Наиболее часто используемыми программами из системы PBS являются qsub, qdel и qstat. Первая ставит задание на очередь, вторая удаляет его оттуда, а третья позволяет следить за состоянием задания. Прочтите эту запись до конца »

05.27.09

Использование OpenMP: старт

Рубрика: Gentoo, Science tagged , , , , в 18:25 от Engraver

Распараллеливание задач, подчас, бывает крайне необходимой штукой. Однако в самом начале изучения одной из библиотек для этого — OpenMP — сталкиваешься со страшной проблемой: нифига не паралеллится. Итак, раз и на всегда что нужно делать:
#include <stdio.h>
#include <stdlib.h>
#include <omp.h>
int main(int argc, char ** argv)
{
#pragma omp parallel
{
printf("Hello, world!\n");
}
return 0;
}

Теперь компилируем:
alexander@A64x2 ~/Temp $ gcc -fopenmp -c test.c
alexander@A64x2 ~/Temp $ gcc -o test test.o -lgomp

Здесь ключевыми являются флаги -fopenmp и -lgomp, использование которых, похоже, очевидно всему миру кроме меня… А результат выполнения у меня был таков:
alexander@A64x2 ~/Temp $ ./test
Hello, world!
Hello, world!

05.23.09

Мнение изнутри

Рубрика: Цитата tagged , , , , , , в 17:05 от Engraver

Книга Торвальда Юргена «Век криминалистики» оказалась потрясающим чтивом. Не могу удержаться от сохранения цитаты из мемуаров одного нью-йоркского полицейского, написанных более столетия назад:

Я слишком хорошо знаю силу столь распространенного у нас союза политиков и полицейских. Я пробовал выступать против этого, но результаты были, как правило, катастрофическими для меня. Местное управление в США осуществляется не так, как в остальном цивилизованном мире. Оно базируется на всеобщих выборах. Избирательные кампании ведутся не ради нужд городов, а лишь во имя целей, преследуемых двумя политическими партиями… Я не верю в то, что хотя бы один человек из пятисот способен объяснить истинные цели каждой из двух партий. Называть их „политическими“ будет ошибкой. Их единственным основополагающим принципом, по крайней мере в Нью-Йорке, является сила и эксплуатация. До тех пор пока такие политики будут влиять на полицию, они будут парализовывать коррупцией полицейский аппарат, которому надлежит охранять имущество и честь граждан… Прочтите эту запись до конца »

05.10.09

Отладчик gdb

Рубрика: Linux tagged , , , в 11:04 от Engraver

gdb, он же GNU Debugger — одно из основных средств отладки в *NIX, при этом консольное. Последнее и послужило причиной написания данной напоминалки. Итак, пусть мы хотим отладить программу prog. Тогда её обьектные файлы должны создаваться с ключем -g, позволяющим отладку:
$ gcc -c prog.c myheader.h -g
$ gcc prog.o -o prog

Теперь можно запустить дебаггер:
$ gdb prog

Запуск и остановка выполнения

  1. run prog <agruments> — запуск программы на выполнение. Псевдоним: r.
  2. Остановка: Ctrl+C.

Точки останова (breakpoints)

  1. break <linenumber> или break <filename.c>:<linenumber> или break <function_name> устанавливает точку останова в определенную строку основного файла проекта, или в файле<filename.c>, или на заход в функцию<function_name>. Псевдоним команды break: b.
  2. delete — удалить все точки останова.

Список будет пополняться по мере надобности на странице блога.

05.08.09

Метод Рунге-Кутта с адаптивным шагом (Runge-Kutta-Fehlberg)

Рубрика: Math, Physics tagged , , , , , , в 23:01 от Engraver

Метод интегрирования Рунге-Кутта с адаптивным шагом является одним из наиболее часто используемых методов численного решения дифференциальных уравнений. Его реализаций существует довольно много, но наибольшее распространение получил метод Рунге-Кутта четвертого порядка. Для достижения заданной точности применяется изменение шага интегрирования. Можно изменять по-простому, деля шаг на два, и интегрируя дифференциальне уравнение сразу с двумя шагами по сетке, а можно поступить немного иначе: интегрировать дважды с одним шагом, но разным порядком метода. Получается быстрее. Далее приведены три матлабловских скрипта, решающие уравнение

\dot y = -yt,\quad y(0) = 1

с помощью интегрирования 4-м и 5-м порядками метода. Прочтите эту запись до конца »

Следующая страница