vitus_wagner: My photo 2005 (Default)
http://esr.ibiblio.org/?p=7421

Раймонд умный пост написал по поводу концепций, которые лежат под Unix way. Я эту мысль про семантическую локальность три дня думать буду.

Oh, yes!

Mar. 11th, 2017 11:17 pm
vitus_wagner: My photo 2005 (Default)
Том Лейн закоммитил мой патч!

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

Вот в PL/Python был контекст-менеджер, позволявший выполнять кусок кода в субтранзацкции, а в PL/Tcl почему-то нет. Хотя создавать собственные управляющие конструкции в Tcl гораздо проще, чем контекст-менеджеры в python (особенно если речь идет о Postgres. где python поддерживатеся начиная с 2.3 и до 3.6)

TTS

Mar. 8th, 2017 06:25 pm
vitus_wagner: My photo 2005 (Default)
Попробовал тут tts на десктопе. Тупо и в лоб

apt-get install festival festvox-ru
festival --tts somefile.txt

Вроде работает не хуже, чем это делает андродиный svox.
Правда, обнаружилось что оно ломется на m-тире и кавычках-ёлочках. Пришлось немножко попатчить файл msu_ru_nsh_lexicon.scm из пакета festvox-ru.

В итоге, правда, маркдауновские файлы все равно приходится проигрывать посредством

pandoc -t plain -o - filename.mkd|festival --tts

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

Теперь осталось придумать какую-нибудь обертку вокруг FB2ToTxt.xslt чтоб можно было вперед-назад абзацы проматывать.
vitus_wagner: My photo 2005 (Default)
https://www.technologyreview.com/s/603637/how-a-college-kid-made-his-honda-civic-self-driving-for-700/

Студент сделал себе автопилот для машины из смартфона и свободного ПО.

Оно правда только для поездок по трассе (но это самое нудное и клонящее в сон). И HCL пока не впечатляет.
vitus_wagner: My photo 2005 (Default)
Наткнулся на ЛОРе на забавный проект:
http://unde.sourceforge.net/ru/

Чем-то это перекликается с некоторыми моими идеями изложенными под тэгом UNG. Ну то есть Раскина человек прочитал, понял, и местами (как и я) не согласился. Например, я полностью с ним согласен в том, что борьба с режимами должна иметь границы.

У него есть вполне разделяемая мной идея, что интерфейс должен быть самообучающим. В том смысле что активно подсказывать более эффективные способы работы с ним. Заткнуть gap между пользованием GUI и командной строкой - это очень важно. Потому что между командной строкой и скриптингом барьер уже отсутствует.

С идеей "все есть директория" вместо "все есть файл" я игрался году в 93-94, когда еще не знал что на свете существуют не то что Mind Maps, но и файловые системы со множественными hard и sym-линками.

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

Очень интересной показалась идея двумерного расположения объектов в контейнере. В смысле "ты всегда найдешь файл там, куда ты его положил". Помнится в Communiware мы тоже были вынуждены вводить "человеческий" порядок сортировки. Поскольку критерии сортировки, которыми пользователю удобно пользоваться. неформализуемы.А использование двумерного порядка вместо одномерного существенно расширяет возможности удобозапоминаемого хранения.
vitus_wagner: My photo 2005 (Default)
Один нехороший человек использует в тестах алиасы таблиц на японском:
EXPLAIN (COSTS false) SELECT * FROM s1.t1 あいう WHERE あいう.c1 = 1;

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

А я потом беру и запускаю эти тесты мало того, что на десятом Солярисе, так еще и с LC_ALL=C.
В результате на сервер pgbuildfarm прилетает лог, который является чем угодно, но только не valid UTF-8.

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

Пришлось пропускать ввод в порядке санитизации через Encode::decode('UTF-8',$data,Encode::FB_PERLQQ).
Теперь хоть видно что там не так. (нет, я не буду вспоминать как оно пыталось на json Storable::thaw делать)..
vitus_wagner: My photo 2005 (Default)
Превратил жуткую свалку fb2 и epub-файлов, в которой мог разобраться только FBReader, да и то не сразу, в более-менее структуруированное хранилище,
вида перваябуква/автор/название

Была еще идея насоздавать симлинков для книг с более чем одним автором, но решил пока не связываться.

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

О, кстати придумал как обойтись без искейпинга. Вывод xmlstarlet который пишет автора на первой строчке, а title во второй, перенаправляем в
(read author
read title
# do what we need with author and title
)
. В результате внутри xmlstarlet нужно заэскейпить только ньюлайны.

P.S. А если для фотографий аналогичный скрипт сделать? Чтобы валить их все в кучу, чуть ли не rsync-ом, а скрипт пусть потом разгребает по датам и местам.
vitus_wagner: My photo 2005 (Default)
Выяснил, в чем причина того, что хецнеровская виртуалка была не доступна по IPv6:

Оказывается, я там что-то лишнее перекрыл на файрволле, и поэтому оно и не работало.
Файрвол был более-менее прямолинейно скопирован с IPv4 конфигурации и выглядел вот так:

правила ip6tables )

Вопрос в том, что я забыл там разрешить, что в итоке отвалилось всё?

vws 0.5

Jan. 14th, 2017 10:12 pm
vitus_wagner: My photo 2005 (Default)
В связи с необходимостью сетапит новый билд-сервер, выпустил очередную версию vws. На самом деле у нас vws уже почти год в production работает. Т.е. в итоге задача "сделать простые вещи удобнее, чем в virsh" вполне решена.

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

Буду теперь его везде ставить из deb-пакета.
vitus_wagner: My photo 2005 (Default)
Как траффикт-то в debian-russian упал. За весть 2016 год меньше полутора тысяч писем. А раньше по пять тысяч в год было.

Кстати, в прошлом году я чуть ли не в первый раз в жизни получил в этом списке осмысленный совет на тему как решить мою проблему. До того я там советы в основном давал.
vitus_wagner: My photo 2005 (Default)
Международная конференция PgConf.Russia 2017 | 15–17 марта, Москва, Digital October

А вот такая эмблема будет у нашей следующей конференции
vitus_wagner: My photo 2005 (Default)
От разработчиков Python.

Интересно, что монотонные и ограниченные мысли сходятся, и у них теперь тоже в виндовой консоли (правда еще и в файловой системе) юникод по умолчанию. Как у нас в PostgresPro-шном psql.

Собраться, что ли, наконец оформить этот патч для пропихивания в community. Или сначала все файловые операции на *W перевести, как питонисты.
vitus_wagner: My photo 2005 (Default)
Выкатили наконец, "закрытую" версию нашего продукта.

С 64-битными transaction id, автономными транзакциями (это такая субтранзакция, которую можно закоммитить раньше объемлющей), встроенным планировщиком и хинтами. Ну и еще с пачкой менее значительных фич. (ну и со всеми фичами Pgpro standard - pathman, arman pg_probackup, covering indexes и прочая, и прочая).

Еще там есть scram authentication - этот не наша фича, патч к 10-ке by Michael Paquier лежит на коммитфесте.
Для параноиков, которых md5 и sha1 в качестве метода хэширвоания паролей не устраивают.

В общем читайте и облизывайтесь.

Впрочем, в стандартной версии тоже уже много чего хорошего. В частности, 1С-патчи уже там. Чтобы не искать - ссылка на страничку даунлоада.
vitus_wagner: My photo 2005 (Default)
Продолжаю разбираться с letsencrypt. Понятно что это гадость. вроде systemd, но деваться некуда. Все альтернативные бесплатые CA за этот год были успешно уничтожены.

Обнаружил, что автор acme-tiny рекомендует по крону повторно выписывать сертификат на тот же самый ключ.

По-моему, в этом вопросе он глубоко неправ. Плтому что с точки зрения пользователя сайта смена сертификата и смена ключа полностью эквивалентны. Браузер не смотрит на ключ, браузер смотрит на то, что ключ соответствует указанному в сертификате.

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

Правда, как обычно, идея перегенерации ключа по крону несет свои собственные риски.
В текущем виде acme-tiny требует доступа только к ключу аккаунта на letsencrypt и к CSR. То есть скрипт, активно работающий с сетью и теоретически могущий быть проэксплойченным через дырки в стандартной библиотеке питона, самом питоне и libc, не имеет доступа к вашему закрытому ключу.

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

То есть нужно аккуратно поделить задачу на три части

1. Сгенерировать новый закрытый ключ и CSR. В принципе, для этого никаких прав не нужно. Нужно только не пересекаться по правам с шагом 2, чтобы у того доступа к закрытому ключу не было. С другой стороны, поскольку эта операция ничего особо принципиального не делает, только пишет в файлики в формате pem, то не жалко и от рута запускать.

2. Посредством acme-tiny или еще какого auditable клиента к letsencrypt получить сертификат.

3. Убедиться в соответствии сертификата ключу и домену, и положить новый ключ и новый сертификат куда надо. Единственная операция, которая требует повышенных привилегий.

Обдумывал мысль, как бы запихнуть операцию 2 в chroot но решил что для acme-tiny это явно не вариант - в chroot придется тащить всю питоновскую инфраструктуру. Пожалуй, с dehydrated это бы лучше получилось.

Идея, естественно в том, чтобы создавать дерево с бинарниками для chroot непосредственно перед запуском скрипта, копируя бинарники из основной системы, а потом уничтожать, откопировав оттуда только полученный сертификат.
vitus_wagner: My photo 2005 (Default)
По совету Михаила Касаджикова в debian-russian пробовал поставить offroadosm. Это порт OsmAnd на JavaSE, т.е. работать будет в любой десктопной системе.
Как оно работает с GPS и строит маршруты еще не проверял, но карту рендерит правильно. И управление визуализацией сделано правильно, в десктопном стиле.

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

Но "медленный" поиск по адресу вполне работает, так же как и в OsmAnd.
vitus_wagner: My photo 2005 (Default)
Приходи ко мне начальник,
Я намаялся один
Тут звонит в поддержку чайник
Мы вдвоем его съедим.

Очень хочется посоветовать человеку, который не понимает почему пакет libicu57 не удовлеторяет зависимость от libicu52:

Если ты мужик, этого не понимаешь без подсказок, тебе не стоит ставить Debian stretch раньше февраля следующего года.
vitus_wagner: My photo 2005 (Default)
https://www.thanassis.space/android.html

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

Что интересно, подобных статей с внятным объяснением как оно работает, а не вида "произнесите это магическое заклинание и тридцать три раза повернитесь на левой пятке" я про андроид встречал очень мало.

upd [livejournal.com profile] petropavel_nn порекомендовал еще http://newandroidbook.com/21-Security.pdf

Вообще похоже, книга, котрой торгуют на сайте newandroidbook.com интересна вся.
vitus_wagner: My photo 2005 (Default)
RMS тут пропагандирует систему электронных платежей GNU Taler, разработанную в Inria.

Интересным свойством этой системы является то, что, хотя покупатель анонимен, продавец не анонимен, и грубо говоря, государство может проследить, сколько подоходного налога можно брать с получателей талеров. Собственно, буква T в аббревиатуре TALER это "Taxable".

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

Но с другой стороны, 30 лет назад то же самое говорили про GPL и Free Software. А оно взлетело.

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

Поэтому стоит, наверное, последить за судьбой и этого проекта.
vitus_wagner: My photo 2005 (Default)
Собственно, этот проект я начал тихой сапой год назад, когда начал писать vws. Вчерашний пост про OpenVPN явно является продолжением того же тренда. Кстати для openvpn-менеджера я уже репозиторий завел.

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

В общем, проект по устранению из linux-овой рабочей станции/ноутбука лишних демонов. Благо демоны нелишние wpa-supplicant, openvpn, qemu-system прекрасно умеют выполнять ту работу, ради которой пытаются завести лишний набор демонов, которые ими управляют. Поэтому вместо демонов надо сделать апплеты в трее или командно-строчные утилиты, которые все необходимые операции умеют выполнять.

От libvirtd я уже больше года как избавился, хотя для того чтобы довести vws до состояния, пригодного для многопользовательских систем и сборочных серверов под управлением jenkins и pgfarm потребовалось довольно много времени.

Теперь вот собираюсь на NM с wicd ополчиться.

На самом деле в основном потому что есть нетбук, на который LXDE попросту не лезет (5-й libreoffice их бэкпортов лезет, а на lxde уже места не остается. Эксперимент с awesome признан несколько неудачным. Сам я еще как-то пользоваться им могу, но вот научить ребенка не получается. Он уже привык к традиционным wm с перекрывающимися окнами, поэтому оказалось проще поставить jwm, чем объяснять ему за одни выходные (большую часть которых мы оба провели в огороде), кучу концепций, которые я еще и сам до конца не усвоил.

На самом деле lxde для меня потеряла смысл уже давно, когда я перешел с pcmanfm на spacefm. Все остальное, что я использую от lxde jwm умеет не хуже.
Разве что lx-logout'у еще надо приискать десктопонезависимую замену. Впрочем, lx-logout безбожно глючит с light-locker-ом. В смысле, систему в которой вместо xscreensaver используется lightlocker не умеет корректно уложить в hybernate, чтобы она потом нормально взлетела. А если нет hybernate, то функциональность lx-logout сводится к той, которую обеспечивают совместно менюшка quit в jwm и аппаратная кнопка питания.
vitus_wagner: My photo 2005 (Default)
Написал вопрос в debian-russian сдублирую и сюда тоже.
Все таки аудитория не сильно пересекается:

Коллеги!

Вот тут захотелось мне gui-утилиту для управления openvpn. Чтобы сидела в tray-е и позволяла включать-выключать соединения (клиентские) с разными серверами, у каждого сервера, естественно свой CA, запрашивала в некоторых случаях пассфразу к секретному ключу или красивым диалогом просила вставить криптографический токен, показывала состояние соединения, и, при необходимости, сообщения из лога.

В общем более-менее полно реализовывала протокол, описанный в management-notes.txt при минимальной инвазивности интерфейса.

Возможность править конфиги через GUI скорее вредна, чем полезна. И еще хотелось бы чтобы для использвания этого добра не нужно было бы править полученные от администратора openvpn-сервера конфиги. То есть всякие необходимые --management* ключики передавались бы запускаемым openvpn-ам через init-скрипт, запускающий их при старте системы.
(естественно, все это для systemd-free и network-manager-free среды.
wicd это такой network-manager-lite).

Интересно, кто-нибудь под linux писал?

То есть, понятно, что если не найду, можно вспомнить Tcl/Tk и написать самому. Но вдруг есть готовое, требующее минимальной обработки
напильником.

Profile

vitus_wagner: My photo 2005 (Default)
vitus_wagner

March 2017

S M T W T F S
    1 234
5 6 7 89 10 11
12 1314 1516 17 18
19 20 21 22 232425
262728293031 

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Mar. 24th, 2017 02:11 am
Powered by Dreamwidth Studios