LINUX.ORG.RU

Сообщения RPG

 

Настройка verbatim в TeX

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

Вредная особенность TeX-овского verbatim'a - наплевательское отношение к длинным строчкам. Причина заключена в том, что TeX ставит в окружении verbatim неразрывный пробел. Ок, исправляем:

\def\@xobeysp{ }

Меняет неразрывный пробел обратно на обычный.

Теперь незадача: текст в листинге выравнивается по ширине, непорядок... Решение следующее:

\def\verbatim@processline{\raggedright\the\verbatim@line\par}

Я просто скопировал макрос из verbatim.sty и добавил \raggedright. Листинги выглядят практически идеально, но мне не нравится отсутствие отступов. Так как processline представляет собой каждую строчку листинга, просто добавим пробел в начало:

\def\verbatim@processline{\hspace{1.2cm}\raggedright\the\verbatim@line\par}

В принципе можно накидать туда команд по вкусу...

Окончательное решение следующее:

\def\@xobeysp{ }
\def\verbatim@processline{\hspace{1.2cm}\raggedright\the\verbatim@line\par}

Теперь листинги имеют отступы, длинные строки переносятся и при этом отступа не имеют - красота. Надеюсь, это решение поможет ТеХническим писателям.

 ,

RPG
()

XeTeX и listings

Пытаюсь собрать документ, используя сабж, но есть беда с русскими комментами в листингах, а без них никуда. В архиве документ и что из этого получается. Как можно побороть сей глюк? В обычном ТеХе всё нормально.

http://ompldr.org/vZWJ1eA/test.zip

RPG
()

Фокус окна по отпусканию кнопки мыши

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

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

В общем, никто не пробовал настроить менеджеры окон так, чтобы фокус переключался не когда я нажимаю ЛКМ, а только когда отпускаю?

RPG
()

[wine][magick] Wine уделал Linux

./engine benchmark.lua
122 FPS
wine engine.exe benchmark.lua
140 FPS

WTH??? ЧЯДНТ???

Кому интересно: http://ompldr.org/vY3Blag

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

 

RPG
()

Ищу словарь

Нашёл расширение для подстрочного перевода с английского, полностью меня устраивающее. За одним нюансом: переводит с английского на хорватский, а надо на русский:)

Может есть где на просторах интернетов или же в каком-нибудь OpenSource пакете словарик, близкий по формату к такому:

слово1=перевод1,перевод2,перевод3
слово2=перевод4,перевод5,перевод6
...

Или что-то похожее, чтобы можно было конвертнуть.

Обыскал весь гугл, так ничего не нашёл.

RPG
()

Шарим шары через шелл

Хочу поделиться одной удобнейшей фичей, которой я постоянно пользуюсь, когда нужно дать ссылку на какой-либо файл или просто разместить его в свободном доступе. Дело дошло до того, что я пользуюсь ею вместо передачи файла по Icq/Skype только потому, что так быстрее и удобнее. Не Америка, конечно, но для тех кто не знал будет полезным.

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

Если обо всём по порядку, то:

1. Идём на сайт http://code.google.com/p/plowshare/ и качаем набор скриптов.

2. Ставим его (make install)

3. Создаём обёртку для этого скрипта. Я приведу пример для mediafire с выводом выхлопа скрипта в zenity.

#!/bin/sh

USER="ЛОГИН"
PASS="ВАШ ПАРОЛЬ"

COMM="plowup -v0 mediafire -b ${USER}:${PASS}"
SOUNDCOMM="playsound /usr/share/sounds/KDE-Im-Highlight-Msg.ogg"

RES=$($COMM $1)

zenity --info --width=600 --title="Файл `basename "$1"` был загружен" \
--text="Ссылка:\n$RES\nДля форума:\n[url]$RES[/url]" & $SOUNDCOMM &

4. Полученный файл делаем исполняемым и засовываем его куда-нибудь в bin

5. Я обычно пользуюсь Тунаром - в тунаре можно для файлов задавать контекстные действия. Создаём новое действие, в качестве команды указываем «myshare %f». Некоторые ФМ могут иметь схожую возможность.

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

RPG
()

Опера, что это?

Скачал новейшую оперу с их сайта, специально для своего дистрибутива. И что я увидел? А у видел я великолепного полярного пушного зверя:

http://ompldr.org/vYzUxcQ

Шрифты - песец.

Тормоза - песец.

Сайт отображается - песец.

Иконка в трее - лютый песец.

Она у всех так работает?

RPG
()

Лечим тормоза в Chrome/Chromium

Начал обращать внимание, что с выходом каждой новой версии Хрома тормоза при скролле страничек всё усиливаются. Однако, это связано не с самой программой, а с новомодным CSS3, который пихают во все сайты где можно и где нельзя. С недавних пор этими «фичами» обзавёлся ещё и Github/Sourceforge, вообще караул. Пробовал включать GPU ускорение, химичить в настройках — без толку.

Решение пришло внезапно, я обратил внимание на один сайт, где тормоза просто зашкаливали — progimp.ru. Выяснилось, что тормоза вызывает чрезмерное употребление border-radius чуть ли не для всех элементов дизайна этого сайта.

Лечится сиё безобразие следующим образом: открываем пользовательский стиль хрома ($vi ~/.config/chromium/Default/User\ StyleSheets/Custom.css) и добавляем туда строку следующего содержания:

* {
border-radius: 0 !important;
box-shadow: none !important;
}

После этого заклинания тормозов как не бывало. Конечно, метод сгодится для владельцев слабеньких машин, на Core i* эффект влияния не особо оказывает, там визуально тормозов не наблюдается как таковых.

RPG
()

Match 3 4 Linux

Подскажите, есть ли под линукс нативные игры «3-в-ряд» без дурацких рыбок и цветочков как в JAG, игра похожая на «Сокровища монтесумы»? Вино не предлагать!

RPG
()

Gaussian blur shader

Нет, это не очередной постпроцесс-эффект. Я долго думал, куда эту тему запихнуть: вроде и OpenGL есть, но и назначение у неё немного другое... Будем считать, что это Shader Toy.

Консольная (!) прога, которая считает размывание по гауссу с помощью шейдров. Алгоритм самый что ни есть «лобовой» - суммирует все пиксели подряд, из-за чего сильно тупит на больших радиусах. Чтобы на больших радиусах считал нормально, пришлось прикрутить хитропопый алгоритм который включается опцией fast, но чуть-чуть теряет в качестве. Разумеется, потребуется карта, поддерживающая шейдры и не-mesa драйвер.

Программа для Unix систем (под Win не пойдёт). Увы, ГУИ нет, свистелок тоже нет, и возможно придется даже компилять. Но думаю, это будет интересно тем... кому интересно.

В архиве сборка под Linux 32 bit, и исходники для 64 битников - чтобы собрать самому. У этой программы нет зависимостей (разве что только от Х:). Скачать без рекламы, смс, регистрации, ожидания 60 секунд и матан-капчи можно отсюда: http://ompldr.org/vYmd2OQ

Что выдаёт эталонный бенчмарк у меня:

$ ./gauss image.jpg 500 out1.bmp
Renderer: GeForce 6600 LE/AGP/SSE2 (NVIDIA Corporation)
Driver: 2.1.2 NVIDIA 270.41.06
Time: 3.050000 sec

$ ./gauss image.jpg 500 out2.bmp fast
Renderer: GeForce 6600 LE/AGP/SSE2 (NVIDIA Corporation)
Driver: 2.1.2 NVIDIA 270.41.06
Time: 0.060000 sec

Обратите внимание на эффект от хитрого алгоритма:)

Желающие могут потестить свои карточки. Особенно интересно как покажут себя современные карты с 9000 универсальных шейдерных процессоров. Не советую запускать на Intel GMA. Х сервер падает замертво.

Как видно, на больших радиусах может проигрывать даже CPU (так как на CPU используют быстрое преобразование Фурье, которое мне писать просто лень). Немного странная формула гаусса (exp(-x*x*3.058)) возникла из-за того, что я коэффициенты рассчитал «в лоб» в Maxima, чтобы распределение давало в сумме 1.

P.S. Думаю, будет любопытно посмотреть, как консольная прожка размером 70 килобайт уделывает по производительности всякие ImageMagick'и:) Это только гаусс, но в принципе можно так сделать любой фильтр, например, создание превьюшек из 100500 фоток.

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

Там нет автоопределения размера картинки, вшито 1024х1024. Sorry... В SOIL размер картинки не выковыривался, потом придумаю что-нибудь.

RPG
()

Узнать устройство, на котором расположен файл

Что-то не могу найти ни в гугле, ни здесь, ни на каком языке: как определить устройство (а-ля /dev/sda1), на котором лежит указанный файл?

Это нужно для баш скрипта.

RPG
()

Смена декораций для одного окна

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

RPG
()

nvidia и тормоза 2D

Конечно, проблема феерических тормозов 2D в «официальных» драйверах от нвидиа не нова, но насколько я знаю, проблема эта не решена толком до сих пор. Один из вариантов - переключиться на свободные драйвера nouveau, там нет проблем с 2D зато есть куча проблем с 3D. 2D там работает быстрее в 3-4 раза, зато 3D начинает работать в 40 раз медленнее.

Однако, всё-таки мне удалось заставить дрова от нвидии (родные) работать нормально. А всего-то - я сделал маааленький даунгрейд к драйверам для geforce2 (!!!).

С этой поры у меня летает и 2D и 3D. Карточка - 6600. Вопреки тому, что для 6 серии есть свои дрова, получается, их лучше не использовать.

Может быть, эта информация поможет тем, кто тоже мудохается с производительностью 2D на nvidia и хочет при этом ещё и компиз включить. Ибо тормоза при выделении мышкой файликов это НЕ нормально.

ЗЫ. Распространённый вариант nvidia-settings -a InitialPixmapPlacement=2 также выдаёт жуткие тормоза. Хрен его знает почему.

RPG
()

Шрифты, хинты и курсив

Я понимаю, конечно, что говорю о наболевшем, но всё-таки моя проблема немного иного характера. Сразу к делу.

Вот как выглядит шрифт тахома в моей мандриве:
http://s012.radikal.ru/i319/1010/bc/42bf6b005684.png
Претензий никаких, хинты идеальные.

А теперь посмотрим, как выглядит тот же шрифт, но курсивом:
http://s006.radikal.ru/i213/1010/16/c8fd9408caa5.png
Налицо уродливая интерпретация.

Проблема _немного_ исправляется антиалиасингом, НО я привык жить без него и у меня хороший ЭЛТ монитор, на нем круглые пикселы и шрифт без сглаживания выглядит чётко и гладко.

И что с этим всем можно сделать? Тахома, естественно, как пример. Этим болеет каждый шрифт в мандриве, который имеет хинты. Шрифт без хинтов, по известным причинам, вообще невозможно читать.

RPG
()

Намертво падает WiFi после ждущего режима

...на ноутбуке. Сам по себе WiFi работает идеально, и коннект, и поиск, и работа. НО! Стоит перевести ноут в ждущий режим, как он после сна отказывается подключать вай-фай сети и вообще ничего вокруг не видит, как будто карточки нет. Спасает только перезагрузка ноута.

Лампочка, сигнализирующая о том, что карточка включена, горит, однако линукс карточку уже не видит.

Карточка Atheros AR5001, драйвер линуксовский (поставился автоматически), ОС Mandriva 2010.1

RPG
()

Захват видео при помощи mplayer

Нужно захватить в линуксе видеоряд с камеры, подключенной к tv-тюнеру.
На самом деле захват проходит без сучка без задоринки, mplayer tv://выводит на экран видео с камеры, а mencoder tv:// - записывает на диск.

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

Рылся в мане, но не нашел такой возможности. Хотел подключить mplayer к тому же /dev/video0, но он написал, что устройство занято.

У меня два пути решения такой проблемы:
1. Запустить mencoder с возможностью просмотра видео
2. Как-то продублировать видеодевайс /dev/video0и к нему подключить mplayer.
Желательно с минимальными потерями производительности. Подскажите, как можно реализовать воспроизведение видео во время его захвата?

RPG
()

Mandriva 2007 - нужно выпустить во внешку локальную машину

Есть такая ситуация: на компе, подключенном к инету стоит мандрива, на нем 2 сетевухи. Одна смотрит в инет, другая напрямую соединина с другой машиной. Нужно эту другую машину выпустить в интернет. Уже попробовал iptables, но он нечего не выводит и естественно не работает(( В инет у меня динамический айпишник, но это только пол беды и вроде для этого нужен маскарадинг. Я в иптаблес пытался прописать это: iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o ppp0 -j MASQUERADE в ответ пусто Помогите плиз, нужно организовать через сетевуху доступ двум компам в интернет Комп сервер: мандрива линуск 2007 сеть: eth1 - смотрит на локальную машину eth0 - локалка провайдера ppp0 - внешка (VPN), инет работает Клиент (должет выйти в сеть) Винда ХР, сеть настроена так, что первый - шлюз

RPG
()

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