LINUX.ORG.RU

Избранные сообщения Bruce_Lee

sK1 2.0 — векторный редактор для полиграфии (Call for Testers & Translators!)

Форум — Multimedia

sK1 2.0 - векторный редактор для полиграфии (функциональный аналог CorelDRAW). Программа написана на языке Python с использованием wxWidgets для построения графического интерфейса. Этот топик создан для обсуждения работы в данном векторном редакторе, а также для обсуждения процесса разработки sK1 2.0, UniConverter 2.0 и всего что связано с «sK1Project».

Автор: Linfan

Ссылки:

 , , , ,

atsym
()

Навигация робота по квартире

Форум — Development

Пилю гусеничного робота с камерой на дистанционном управлении через Wi-Fi. Хочется реализовать некоторую автономность в виде заданий. Например, даю команду «добраться на кухню», в этом случае робот должен определить что он находится в коридоре и понять как доехать на кухню (естественно, все маршруты заранее заданные). Какие способы я вижу:

  • считать обороты колес (гусениц). В этом случае можно будет построить маршруты вида: двигайся 20 оборотов вперед, потом поверни на 90 градусов вправо, потом двигайся еще 5 оборотов вперед
  • поставить какие-то маяки (непонятно какие) и ориентироваться по ним
  • распознавание изображений

Какой вариант лучше/проще? Робот управляется с помощью raspberry pi, поэтому вычислительных ресурсов не особо много.

P.s. кроме камеры есть датчик измерения расстояния. Камера вращается вправо-влево/вверх-вниз.

 ,

ft232r
()

Перевод руководства пользователя LinuxCNC

Форум — Talks

Я torvn77 и alexferman заключаем договор, по которому alexferman делает полный перевод девелоперской версии руководства пользователя LinuxCNC расположенного в сети по адресу http://linuxcnc.org/docs/devel/html
я же произвожу ему оплату в 72 000 рублей равными частями по 9 000 рублей, каждая часть выплачивается по мере выполнения работы после каждого полного перевода двух разделов руководства и публикации их в репозитории гитхаба под лицензией cc-by-sa.
Адрес репозитария https://github.com/LinuxCNC-rus-documentation/LinuxCNC-rus-documentation.github.io
Формат файла в котором публикуется html, при этом перевод должен сохранять структуру и по возможности форматирование оригинального документа.
Если будут использоваться редакторы html кода то они должны по возможности создавать простой код пригодный для ручных правок.

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

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

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

П.С. Для оплаты желательно пластиковая карта, очень хорошо если это будет Сбербанк.

Перемещено jollheef из science

 , , , ,

torvn77
()

Обзор оконных приложений удаленного управления

Форум — General

Здравствуйте!

Из бесплатных имеются: AeroAdmin, Chrome Remote Desktop, AmmyAdmin, TeamViewer, Seecreen, RemoteUtilities, UltraVNC, TightVNC.

AeroAdmin http://www.aeroadmin.com - бесплатная лицензия для коммерческого и некомеррческого использования. Подключение по IP или ID (без пароля). Позволяет настроить доверенные подключения (без подтверждения входа на клиентской машине). Не требует установки. Только для Windows, через Wine не запускается.

Chrome Remote Desktop - бесплатное расширение браузера для удаленного управления. Кроссплатформенная. Для использования необходима авторизация в Google.

AmmyAdmin http://www.ammyy.com - бесплатная лицензия для домашнего использования, платная для коммерческого использования. Подключение по ID без пароля. Позволяет настроить доверенные подключения. Для скачки необходим особенный браузер. Работает под Windows.

TeamViewer https://www.teamviewer.com - бесплатная лицензия для домашних пользователей, платная для коммерческих пользователей. Имеет несколько версий, память подключений, доверенные подключения. Подключение по IP или по ID с паролем. Работает под Windows.

Seecreen http://seecreen.com - приложение Java (jar-файл) с бесплатной лицензией. Подключение по ID с паролем. Работает под Windows, Linux (запуск: `java -jar seecreen-v-082.jar` ).

RemoteUtilities https://www.remoteutilities.com - бесплатная лицензия для домашнего и коммерческого использования с ограничением до 10 хранимых подключений. Файл host используется на клиентской машине, файл Viewer - на компьютере, откуда производится управление. Подключение по IP или ID с паролем. Может управлять компьютером до авторизации пользователя. Работает на Windows.

UltraVNC http://www.uvnc.com - бесплатная лицензия GPL. Сервер и Просмотрщик. Работает под Windows.

TightVNC http://tightvnc.net - бесплатная лицензия GPL. Сервер и Просмотрщик, в том числе просмотрщик на java. Также есть source-код.

Добавлено:

RDesktop http://www.rdesktop.org - бесплатная лицензия GPL, работает на Линукс. Подключение к Windows по RDP.

ThinLinc https://www.cendio.com/thinlinc - open source сервер удаленного управления для Линукс. Работает на Линукс. Клиентские приложения работают на Windows, Linux, MacOS X.

 , ,

znavko
()

Текстовый редатор unDE

Галерея — Скриншоты

Здравствуйте!

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

На экране видим часть кода на D, реализующего миникарту в правом верхнем углу.

Подсветка синтаксиса осуществляется согласно syntax-файлам vim'а. Это позволяет поддерживать нам широкую базу синтаксисов.. Широкую да не очень.. Регулярные выражения vim'а сильно отличаются от регулярных выражений D, поэтому заточить его под напичканный какими-то хитрющими выражениями синтакс-файл Perl'а мне не очень удалось (просто я не очень старался). В Bash-е из-за того что я не осилил многострочность регулярных выражений имя функции будет подсвечено только если фигурная скобка указана на той же строке, что и имя функции. А так Java, C, C++, PHP, JavaScript, HTML вполне себе подсвечиваются.

Но подсветка синтаксиса - это так результат предпоследней недели работы.

На самом же деле основной возможностью-убийцей редактора является несомненно его система отмен. В редакторе 4 вида отмен:

1) Файловая система отмен - ту что мы видим в большинстве редакторов.

2) Глобальная система отмен - это когда вы только что из-за одной переменной начали тотальный рефакторинг кода во всех файлах и вам надо отменить все недавние изменения во всех файлах.

3) Проектная система отмена - что-то среднее между 1 и 2. Отмены ограничиваются одним проектом.

4) Локальная система отмен - это когда вы точно помните что вот в этой функции был нужный код. Выделяете функцию - нажимаете (Ctrl+Z, в будущем Ctrl+Shift+Z) и вуаля - вы видите предыдущую версию фрагмента файла, а остальная часть файла остаётся нетронутой.

Редактор вдохновлён Vim'ом, но основным режимом всё же является не командный режим, а режим вставки. А так многие горячие клавиши перекликаются с Vim'ом, например: Ctrl+V - визуальный режим. Есть желание сделать командный режим по клавише Caps Lock, чтобы не зажимать Ctrl, но пока не доходят руки.

Справа вверху находится миникарта. Это замена полосы прокрутки. А что отмечают на картах? Места боевой славы, конечно! Поэтому зелёным на карте отмечены недавние правки, жёлтым - дневной давности, оранжевым - недельной, ну а серым - месячной.

Локальные метки (те что задаются Ctrl+M <маленькая_латинская_буква>) также отмечены на миникарте (на скриншоте 2).

Чуть ниже миникарты - находится так называемый «карман», замена буферу обмена. В кармане отображено 4 места (хотя положить туда можно и больше) и управляется он всего двумя сочетаниями клавиш:

Ctrl+X - скопировать выделенное в карман, второе нажатие - удалить выделенное (фактически двойное нажатие - вырезать), третье нажатие (нажатие без выделения) - выложить из кармана.

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

Ctrl+C - копировать из кармана.

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

Основная фишка - т.н. «псевдо-директории» - фиолетовые элементы. Когда в директории больше 10 файлов над ней появляется уровень псевдо-директорий, страницы директории по 10 элементов. Если элементов больше 100 - то 2 уровня псевдо-директорий и т.д.

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

И это надо сказать удобно. И теперь я думаю как бы мне переделать мой ZUI-файловый менеджер объединив в нём преимущества ZUI-интерфейса и преимущества такой панели табов.

Так проект прошёл важную веху - наконец-то он разрабатывается сам в себе (а не в vim'е запущенном в себе).

Спасибо за внимание. Больше букв нету. Исходники в репозитории проекта. Сайт: http://unde.su

>>> Просмотр (1360x768, 65 Kb)

 

unDEFER
()

OpenStreetmap Offline для ведроида

Форум — Mobile

Попросили подсказать, а я хз что там в мире ведроидов, предложил maps.me, но оно в УГ скатилось, при каждом запуске жалуется на выключенный gps(и нигде в настройках такое поведение нельзя починить) и постоянно всплывает «оцените наше приложение». Что нормальное можете посоветовать? Требования: OSM, возможность загружать карты offline(например города/области), поиск(города, дома, улицы, остановки(станции, платформы) транспорта, ...), отсутствие рекламы и пр. телеметрии.

P.S. Не советуйте навигаторы, требования четкие - карты.

 , ,

Deleted
()

Трехмерная печать в GNU/Linux

Галерея — Скриншоты

Привет, ЛОР.

Так получилось, что я давно сюда ничего не писал, и уже начал немного скучать. Давай я расскажу тебе про свой 3d принтер.

На скриншоте запечатлен процесс изготовления пластиковой детали, состоящий из разработки трехмерной модели, преобразования модели в G-code и печати на 3d принтере.

( читать дальше... )

>>> Просмотр (3200x900, 1164 Kb)

 ,

Deleted
()

nEMU 1.0.0

Форум — Development

Проект nEMU [ex qemu-manage] дорос до версии 1.0.0.
nEMU — это ncurses-интерфейс к QEMU, упрощающий создание, настройку и управление виртуальными машинами.

Что нового:

  • Весь код полностью переписан с С++ на С.
  • Добавлена поддержка хоста FreeBSD (с некоторыми ограничениями).
  • Сменилась лицензия с WTFPL на BSD-2.

Исходники тут

 ,

pascal
()

Конвертирование djvu в pdf с сохранением сегментации (pdfbeads)

Форум — General

Задача преобразования djvu в pdf рассматривалась на ЛОРе много раз. Но предлагаемые до этого методы сводятся к тупому преобразованию djvu в tiff с последующим преобразованием в pdf. Такое преобразование приводит к потере сегментации mask+fg+bg и существенным искажениям там, где они нежелательны.

В данном топике предлагаю скрипт, извлекающий изображения из djvu в сегментированном виде. Скрипт заточен под pdfbeads, так как это пока единственный известный мне генератор pdf из сегментированных изображений.

cat djvubeads.sh
#!/bin/bash

tprogs=""
if [ ! -f "/usr/bin/djvused" ]
then
    # djvused, ddjvu, djvuextract, djvumake <- djvulibre-bin
    if [ "+$tprogs" != "+" ]
    then
	tprogs="$tprogs, "
    fi
    tprogs="$tprogs""djvused (djvulibre-bin_*.deb)"
fi
if [ ! -f "/bin/grep" ]
then
    if [ "+$tprogs" != "+" ]
    then
	tprogs="$tprogs, "
    fi
    tprogs="$tprogs""grep (grep_*.deb)"
fi
if [ ! -f "/usr/bin/awk" ]
then
    if [ "+$tprogs" != "+" ]
    then
	tprogs="$tprogs, "
    fi
    tprogs="$tprogs""awk (gawk_*.deb)"
fi
if [ ! -f "/usr/bin/convert" ]
then
    if [ "+$tprogs" != "+" ]
    then
	tprogs="$tprogs, "
    fi
    tprogs="$tprogs""convert (imagemagick_*.deb)"
fi
if [ "+$tprogs" != "+" ]
then
    echo "!!!!"
    echo "  Not found $tprogs!"
    echo "!!!!"
    exit 1
fi

function usage()
{
    echo "DjVu extract mask+fg+bg."
    echo
    echo "USAGE: bash $0 [options] djvufile"
    echo "options:"
    echo "  -o Name     output path (default = djvuname);"
    echo "  -q N        quality jpeg compression (default = 50);"
    echo "  -h          help."
    echo
    exit 1
}
if [ $# = 0 ]
then
    usage
fi

tq="50"

while getopts ":o:q:h" opt
do
    case $opt in
        o) dst="$OPTARG"
            ;;
        q) tq="$OPTARG"
            ;;
        h) usage
            ;;
        *) echo "Unknown option -$OPTARG"
            exit 1
            ;;
    esac
done
shift "$(($OPTIND - 1))"
src="$1"
if [ -z "$dst" ]
then
    dst="${src%.*}"
fi

echo "$src"
echo ""
mkdir -pv "$dst"

tpages=`djvused -e 'n;' "$src"`
tlist=`djvm -l "$src" | grep "djvu$" | awk '{ print $4 }'`

i=0

for tpage in $tlist
do
    let i=i+1
    let j=10000+i
    tname="$dst/page-${j:1}"
    fginfo=""
    bginfo=""
    ddjvu -format=tiff -page=$i "$src" "$tname.tif"
    fginfo=`djvused "$src" -e "select $i; dump" | grep -m 1 "FG44" | awk '{ print $10 }' | tr "x" " "`
    bginfo=`djvused $src -e "select $i; dump" | grep -m 1 "BG44" | awk '{ print $10 }' | tr "x" " "`
    if [ ! -z "$fginfo$bginfo" ]
    then
	convert "$tname.tif" "$tname.png"
	rm "$tname.tif"
	ddjvu -format=pbm -mode=mask -page=$i "$src" "$tname.pbm"
	convert -compress Group4 "$tname.pbm" "$tname.black.tiff"
	rm "$tname.pbm"
	echo "Page $i: Image"
    else
	convert "$tname.tif" "$tname.png"
	rm "$tname.tif"
	convert -compress Group4 "$tname.png" "$tname.tif"
	rm "$tname.png"
	echo "Page $i: Mask"
    fi
    if [ ! -z "$fginfo" ]
    then
	fgw=`echo "$fginfo" | awk '{ print $1 }'`
	fgh=`echo "$fginfo" | awk '{ print $2 }'`
	djvuextract "$src" -page=$i FG44="$tname.fg44"
	djvumake "$tname.fg44.djvu" INFO=$fgw,$fgh,300 BG44="$tname.fg44"
	rm "$tname.fg44"
	ddjvu -format=ppm "$tname.fg44.djvu" "$tname.fg.ppm"
	rm "$tname.fg44.djvu"
	convert -quality "$tq" "$tname.fg.ppm"  "$tname.fg.jpg"
	rm "$tname.fg.ppm"
    fi
    if [ ! -z "$bginfo" ]
    then
	bgw=`echo "$bginfo" | awk '{ print $1 }'`
	bgh=`echo "$bginfo" | awk '{ print $2 }'`
	djvuextract "$src" -page=$i BG44="$tname.bg44"
	djvumake "$tname.bg44.djvu" INFO=$bgw,$bgh,300 BG44="$tname.bg44"
	rm "$tname.bg44"
	ddjvu -format=ppm "$tname.bg44.djvu" "$tname.bg.ppm"
	rm "$tname.bg44.djvu"
	convert -quality "$tq" "$tname.bg.ppm"  "$tname.bg.jpg"
	rm "$tname.bg.ppm"
    fi
done

Применение:

bash djvubeads.sh test_file.djvu
...
cd test_file
pdfbeads -m G4 -b JPEG -o ../test_file.pdf

В pdfbeads используется сжатие Group4 для черно-белых изображений и JPEG для цветных масок. Возможно использование jbig2 для черно-белых изображений и JPEG2000 для цветных масок при определённой модификации скрипта, но это плохо совместимо с портативными устройствами, поэтому здесь не рассматривается.

Результирующий pdf имеет размер ~3*djvu, при этом искажения минимальны (только на цветных масках).

Результат:

ls -l
итого 71864
-rw-r--r-- 1 zvezdochiot zvezdochiot     3205 Апр 15 13:00 djvubeads.sh
-rw-r--r-- 1 zvezdochiot zvezdochiot      871 Янв 30 19:02 pdfinfocopy.sh
-rw-r--r-- 1 zvezdochiot zvezdochiot  2947707 Июл 12  2016 Книга_01-Эйнштейн-Теория_относительности.djvu
-rw-r--r-- 1 zvezdochiot zvezdochiot 12072915 Апр 14 23:50 Книга_01-Эйнштейн-Теория_относительности.pdf
-rw-r--r-- 1 zvezdochiot zvezdochiot  2012411 Июл 12  2016 Книга_50-Чандрасекар-Звездная_эволюция.djvu
-rw-r--r-- 1 zvezdochiot zvezdochiot 11242989 Апр 15 11:25 Книга_50-Чандрасекар-Звездная_эволюция.pdf
-rw-r--r-- 1 zvezdochiot zvezdochiot  9312996 Апр  5  2015 Попов_ОБ-Рихтер_СГ-2007-Цифровая_обработка_сигналов_в_трактах_звукового_вещания.djvu
-rw-r--r-- 1 zvezdochiot zvezdochiot 31096585 Апр 14 23:32 Попов_ОБ-Рихтер_СГ-2007-Цифровая_обработка_сигналов_в_трактах_звукового_вещания.pdf
-rw-r--r-- 1 zvezdochiot zvezdochiot  1838167 Июл 12  2016 Специальный_выпуск-Перьевые_ручки.djvu
-rw-r--r-- 1 zvezdochiot zvezdochiot  2975375 Апр 15 11:13 Специальный_выпуск-Перьевые_ручки.pdf

Pdfbeads homepage: https://github.com/ifad/pdfbeads

 , ,

Deleted
()