Поздравляю с началом летних каникул!
Кстати
Кстати
Я расположил в SVG некоторые графические образцы. Нужно было каждый образец растеризвать отдельно из этого SVG для дальнейших исследований. Так как образцов много я использовал для этой задачи процесс Inkscape в shell режиме. Я парсил SVG находил объект, программно создавал новый svg с этим объектом и необходимым окружением, и этот svg растеризовывал.
Можно было это сделать с помощью команды --export-area-drawing, но нужен был ещё кусок окружения. Но чтобы обойти баг, который хочу здесь описать, я именно так и сделал, а потом добавлял к растровому рисунку окружение с помощью ImageMagick.
Однако у Inkscape есть команда --export-area, с помощью которой можно было обойтись без ImageMagick. Я пытался растеризацией выцепить объект с помощью данных Inkscape процесса, получаемых используя команду --query-all. Однако было не понятно, что за значения «y» выводила команда для использования в параметрах --export-area-drawing, хотя с параметром «x» всё было понятно. После многочисленных опытов я понял что в качестве значения параметра «y» выводится хрен знает что. Линейной связи с его значением и необходимым мне параметром не было!
Inkscape 0.91 r13725
Это действительно баг или я чего-то не понял?
Задача банальная: отсканирована книга разворотами, но для электронной книжки удобнее разрезать на отдельные листы. Напрашивается очевидное решение - декодировать в обычный растра, ImageMagick и закодировать снова.
А без djvu-перекодирования обойтись можно?
Вот есть ряд некоммутативных произведений например pd x px py y z pz и дополнительные данные, что к примеру произведения функций x y z здесь будут коммутативны, при этом есть операторы px py pz которые действуют на соответствующую из функций и с ними произведения коммутативными не будут. Произведения операторов между собой - коммутативны за исключением оператора pd у которого коммутативно только произведение с pz. Оператор pd на функции x y z не действует.
Таким образом ряд [pd x px py y z pz] должен преобразоваться в ([z pz][(x pd) (px [py y])]). Здесь произведения [a b] - некоммутативные, а (a b) - коммутативные.
У меня трудности с созданием алгоритма. Есть идеи?
В лаборатории есть зверюга, которая облучает кристаллы рентгеновским излучением. Она подключена к некому управляющему устройству которое подключено через COM2 к компьютеру, который произведён ещё при СССР, наверно (IBM PC какой-то может быть). На машинке Win95 и за работу с устройством через COM2 отвечает программка на Turbo Basic, которая обладает достаточно приятным GUI.
Недавно у машинки поменяли хард и теперь надёжность работы Win95 не объясняется никакой наукой. Сегодня у студентов аура хорошая - система работает, завтра плохая - бсоды на каждый чих. К машинке присобачили пару usb гнёзд, чтобы передавать полученные данные, однако запустить с них Live систему я так и не смог, поэтому получить что-либо о ресурсах машинки я не смог.
Есть идея создать запасную Live систему на CD (можно было бы и флоппи, наверно, но таких дисков уже не найдёшь) на базе FreeDOS, благо программа вроде работает в dosbox-е. Система должна запускать эту программу, работать с устройством через COM2, монтировать usb-носители для передачи, поддерживать интерфейс на кириллице (исходники и строки в программе в CP866). Также очень желательно монтировать хард, а также простой для пользователей Win95 интерфейс системы (какой-нибудь Far само собой, но слышал что в freedos-е делают вполне неплохие интефейсы).
Возможна ли реализация такой идеи? Какие есть руководства по такой магии? Сам я в freedos не бум-бум.
Есть такой код:
print("svg_samples_list:\n" + str(svg_samples_list) + '\n')
ink_proc = subprocess.Popen(['inkscape', '--shell'],
stdin=subprocess.PIPE,
stdout=subprocess.PIPE)
def get_data_about_svgfile (svgfile):
o = ink_proc.communicate("-S " + svgfile + "\n")
print(svgfile + ":\n" + o[0] + "\n")
map(get_data_about_svgfile, svg_samples_list)
ink_proc.communicate("quit\n")
работа скрипта:
$ python2 generate-bitmap-samples.py
svg_samples_list:
[u'./tmp/star0.svg', u'./tmp/star0.rot.svg', u'./tmp/star0.rot_ref.svg', u'./tmp/star0.rot_ref_flat.svg']
./tmp/star0.svg:
Inkscape 0.91 r13725 interactive shell mode. Type 'quit' to quit.
>svg2,48.365724,-1282.3207,158.90038,152.83165
layer1,48.365724,-1282.3207,158.90038,152.83165
path3336,48.365724,-1282.3207,158.90038,152.83165
>
Traceback (most recent call last):
File "generate-bitmap-samples.py", line 100, in <module>
map(get_data_about_svgfile, svg_samples_list)
File "generate-bitmap-samples.py", line 97, in get_data_about_svgfile
o = ink_proc.communicate("-S " + svgfile + "\n")
File "/usr/lib/python2.7/subprocess.py", line 799, in communicate
return self._communicate(input)
File "/usr/lib/python2.7/subprocess.py", line 1404, in _communicate
self.stdin.flush()
ValueError: I/O operation on closed file
Нужна помощь в работе с внешними процессами, короче.
Вот так, понятно, работает:
(%i199) matchdeclare(any_exp,true);
(%o199) done
(%i200) let([any_exp^2,p0(any_exp,any_exp)],oper);
2
(%o200) any_exp --> p0(any_exp, any_exp)
(%i203) exp0:p0(x^2,y);
2
(%o203) p0(x , y)
(%i204) letsimp(args(exp0),oper);
(%o204) [p0(x, x), y]
Однако почему letsimp не лезет в аргументы?
(%i205) letsimp(exp0,oper);
2
(%o205) p0(x , y)
Это баг или фича?
Обыкновенного, чтобы сплёл паутинку в углу под потолком комнаты и ловил всякую летающую назойливую мелкую живность.
Вроде с такой проблемой я уже приходил сюда когда-то. В общем на диске накопилось довольно много электронных книг, статей и надо бы порядок во всём этом наводить. Обыкновенные файловые системы предлагают организовывать всё в виде дерева каталогов по тематикам. У меня есть также идея помечать файлы тегами для поиска по ним.
Проблема в принципе не нова и вроде уже есть множество решений, но вот я ищу наиболее удобное решение для себя и, наверно, придётся самим его делать, благо есть кое-что для фундамента, вот например tocc недавно смотрел. Можно и просто сбацать на базе SQLite.
Гуй здесь абсолютно не нужен, но и cli в bash тоже не то. Нужна морда на базе может быть ncurses, но я наверно режим для emacs буду делать. Там должен быть доступ к полному списку тегов, чтобы была обработка поисковых запросов и отображение результатов поиска. Есть также идея функции - по ней в определённую директорию результаты поиска экспортируются в виде символических ссылок на полные пути найденных документов, чтобы их можно было перемещать в другие места и они должны продолжать работать. Плюс всячина для добавлений новых файлов и тегов в базу.
Вопрос в том может быть уже создано что-то близкое? Если нет посоветуйте библиотек или примеров таких интерфейсов для Emacs? Также интересно обсуждение ядра базы.
Читаю теорию вероятности и матстатистику ВЕ Гмурмана 2003 года издания главу 16 параграф 16. Там в середине параграфа есть пример, который ссылается на приложение 3. Вроде бы вместо этой таблицы в GSL есть функция gsl_cdf_tdist_Pinv - по крайне мере интегральные функции совпадают. Однако вывод этой функции никак не совпадает со значениями в таблице:
CL-USER> (gsll:gsl-lookup "gsl_cdf_tdist_Pinv")
GSLL:TDIST-PINV
T
CL-USER> (GSLL:TDIST-PINV 0.95d0 100.0d0)
1.6602343260853392d0
CL-USER> (GSLL:TDIST-PINV 0.95d0 99.0d0)
1.6603911560169906d0
Кто здесь врёт?
С figsize очень неплохо группируются изображения, однако он также влияет и на одиночные изображения. Совсем хреново при включении результатов работы gnuplot через драйвер epslatex - тогда текст у графика живёт отдельно, рисунок отдельно. Иными словами вёрстка графиков разъезжается.
От figsize надо отказываться?
У меня на фото данные - нужно их считать. Используются ориентиры для метрики - 4 прямые линии. Конечно удобнее всего привычные декартовы координаты и 4 прямые должны образовывать прямоугольник. В этом случае дело за малым.
Однако благодаря жопоруким лаборантам 4 прямые образуют не прямоугольник, а кривоугольник (спасибо хоть на том что прямые остались прямыми). Ориентиры(прямые) хорошо видны и я вижу, что дело можно поправить с помощью инструмента Perspective у gimp. Gimp там выбирает точку отсчёта, которую аккурат окружают ориентиры. Можно ли написать gimp-скрипт, который:
Тут очевидно вопроса два. Первый по теории вычисления таких тензоров. И второй по программированию интерактивного взаимодействия gimp.
http://www.olddendy.net/action/8467-shkola-nindzya.html
Что-то не могу в сети её найти.
Интересует поддержка pdf (есть в таких устройствах поддержка ссылок?), fb2 и желательно ещё djvu. Всякие wifi не нужны - просто флеш-память через usb или microsd карта. Андроиды на борту вроде излишни. Скорее всего большая часть цены будет в надёжности, удобном для глаз экране и продолжительности работы без подзарядки. Какие сейчас расценки на более менее балансирующие на таких критериях устройства?
Linux тут притом что сабж будет подключаться к машине с линуксом для передачи книг.
PS
Насчёт всяких технологий делающих вид на экране как на бумаге. Я больше доверяю научному обоснованию и к практической ценности таких улучшений отношусь с сомнением. Не буду скрывать что бюджетом я большим не располагаю и на айфон я не потяну. Однако ради хорошего приобретения могу поднатужиться. Я это к тому, что какого-либо опыта в использовании различных гаджетов не имею, исключая лэптопов.
Одна из основных причин почему я хочу приобрести читалку - то что мой нетбук мне служит достаточно сносно и довольно продолжительное время и я жду, что у него вот-вот сдохнет винчестер. Также значительную часть времени работы за ним я читаю. И вот хочу снять с него часть нагрузки.
Мне приходилось читать обыкновенные книги и мне видно что LCD экран отличается от обыкновенной бумаги. Однако сказать где мне читать более комфортно я не могу. Конечно яркость LCD экрана должна хорошо настраиваться.
В последнее время у меня на своё зрение поступают жалобы. Однако я в этом больше виню суточный режим втыкания в экран, а не качество экрана. Даже в таком случае я перед многими могу хвастаться остротой своего зрения. Также я знаю что и обыкновенная бумага для глаз вредна, если не давать глазам умеренный отдых.
Практически вся панель в состоянии disabled по терминологии программирования GUI, вроде. Версия 2.8.16.
Есть ли у вас проекты, которые:
?
Однако до сих пор не в свободном доступе по причине:
Необязательно, что это будет серьёзный AI комбайнёра или CAD, но и не hello_world или круто звучащая перделка.
Есть ли здесь люди, которые пользуются в каких-либо целях Mono достаточно долго и без фатальных проблем типа win-only библиотек и полного отсутствия аналогов к ним под mono?
Интересует именно не «поставил, все работает! и снес, чтобы вернуться обратно на .NET от M$», а использование длительное время с регулярной работой на нём, для работы, например, прикладного программирования.
Интересуюсь с целью иметь данные для возможных срачиков и холиваров с вендоразработчиками.
Первый вопрос как называется этот интерфейс неиксовых терминалов? Не могу загуглить проблему.
Клавиши Ctrl+Alt+F[1-8] не переключают на эти терминалы. Вместо переключения экран мигает, что намекает на то что система пытается переключиться но что-то мешает. Больше неудобств от аналогичных миганий при нажатиях клавиш Alt+(стрелки направо и налево), которые внезапно в иксах похоже тоже запускают процедуру переключения с тем же результатом. Раздражает т.к. эта комбинация задействована в некоторых приложениях (движение по истории в firefox-е).
Система: Xorg 1.18.0, lightdm 1:1.16.6, awesome wm, arch.
Есть сайт одного провайдера, через который я оплачивал его услуги с банковской карточки. Форма там номер, имя, дата окончания службы и CVV2. В принципе чтобы тупо провайдеру не снимать бабло с моей карточки без меня мешает то что банк шлёт СМС-ку с секретным кодом, который я должен вставить в форму подтверждения с вроде бы сервера банка.
... но вот провайдер и оператор через который посылается код по СМС являются одной и той же фирмой. Я правильно понимаю что нужно что-то менять в безопасности?
Недавно открыл для себя keysnail, что является аналогом vimperator, но с закосом на Emacs. Не могу забиндить на клавиши '+' и '-' изменение параметра Zoom. После гуглежа есть вот такой код:
// zoom keys
key.setViewKey('+', function (aEvent, aArg) {
var {activeBrowserWindow} = require("window-utils");
activeBrowserWindow.FullZoom.enlarge();
}, 'Change zoom', true);
key.setViewKey('-', function (aEvent, aArg) {
var {activeBrowserWindow} = require("window-utils");
activeBrowserWindow.FullZoom.reduce();
}, 'Change zoom', true);
Но ничего не работает.
← назад | следующие → |