vitus_wagner: My photo 2005 (Default)
Прихожу с утра в контору, а там на столе у PR-менеджера лежит стопка бубнов.
Не таких как у Миши Шурутова на этой фотографии (там вообще бубен для высоконагруженного кластера на десяток терабайт), но вполне функциональных.



Думаю, с чего бы это, залезаю в ленту, а оказывается, сегодня день сисадмина. С чем всех и поздравляю!

GNU Ring

Jul. 25th, 2017 11:17 am
vitus_wagner: My photo 2005 (Default)
Попробовал поставить себе GNU Ring - это такой мессенджер с поддержкой аудио-видео, у которого вообще нет никаких центральных серверов, а для поиска пользователей используется блокчейн и OpenDHT.

В отличие от ToX там предусмотрена штатная возможнсоть подключения к аккаунту нескольких устройств. У меня, правда, не получилось - андроидный Ring после импорта туда аккаунта, созданного на десктопе, стал падать.

Попробовать с кем-то пообщаться пока не получилось потому что не с кем. Не знаю никого, кто бы из знакомых имел там аккаунт.
vitus_wagner: My photo 2005 (Default)
Подкинули ссылку на проект http://www.nncpgo.org (см тажке статью на хабре.

Подкинули под соусом "это же почти чеширнет". Нет, не чеширнет, и рядом не стояло (и ровно поэтому есть надежда что окажется более жизнеспособным).

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

Аналогичным образом я в чеширнете рассматривал проблему блокирования информации на государственных серверах или файрволлах как частный случай нарушения сетевой коннективити. И предполагал переход от прямого получения информации с некоего ее "источника" на получение ее от ближайшего доступного узла у которого она откуда-то взялась. То есть там была цель - исключить понятие сеанса связи вообще. Даже если есть личные сообщения, они отличаются от публичных только тем, что никто кроме адресата не может их прочитать. А распоh-hлзаются они по всем узлам точно так же, как и новости, пока не будут получены адресатом.

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

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

Предполагается что отправитель и адресат знают друг друга на уровне "прописали себе в файлы конфигурации ключи друг друга".

При этом про UUCP автор знает (в статье на хабре упоминал), но похоже не слишком интересовался тем как это работало, что такое UUCP maps и что умела uucp кроме доставки почты и ньюсов. То есть что-то я не уверен, что в том виде как оно написано, оно масштабируется за пределы небольшой тусовки друзей.

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

Зато это у него уже работает как транспорт для электронной почты.

Но вообще, похоже сама идея "отправить файл" порочна. Она не даст возможности построить полноценную сеть.
Если уходить от чеширнетовской парадигмы "любая информация должна быть скопирована всем, кому не жалко ее хранить", то нужна система вида publish-request. Вроде фидошных FREQ. В принципе, предлагаемая автором идея хранения зеркал сайтов в виде архивов сюда вполне ложится.
vitus_wagner: My photo 2005 (Default)
Тут вот [personal profile] nataraj рассказывает о своем опыте приобретения коммерческих сертификатов для https сайтов.

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

Поэтому я использую letsencrypt. В качестве клиента я использую acme-tiny, которую обвязал своими скриптами с тем, чтобы процесс был полностью автоматизирован и сертификаты перевыпускались автоматически.

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

Второй - от специального непривилегированного юзера и выполняет собственно взаимодействие с letsencrypt.
Можно было бы в контейнер какой засунутЬ, но я счел это лишним. acme-tiny я доверяю, потому что я ее читал. (там всего 200 строк на питоне).

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

Скрипты можно посмотреть здесь.
vitus_wagner: My photo 2005 (Default)
https://eprint.iacr.org/2017/351.pdf

Я конечно, считаю что все изделья Бернштейна относятся к категории "может это не практично, согласитесь - эстетично" и не понимаю тех, кто держит qmail в продакшне, да и основная претензия к tox у меня такова - почему они DJB-шную криптобиблиотеку используют, но тем не менее штука забаваная.
vitus_wagner: My photo 2005 (Default)
Написать на питноновском unittest такие тесты, чтобы в их код было страшно заглядывать, это надо постараться.
Но некоторым товарищам это удается.

Например, вместо

with self.assertRaisesRegexp(SomeException,'сообщение об ошибке'):
    do_something()


пишут:

try:
   do_something()
   # we need to die here because exception is what we expect
   exit(1)
except SomeException as e:
   self.assertEqual(True,'сообщение об ошибке' in e.message)



При этом это те же самые люди которые громко кричали что использовать перловый unit-test фреймворк Test::More (и его постгресовые расширения) это некошерно потому что перл это бяка и вообще. Ну если вы настаиваете на использовании какого-нибудь инструмента, так хоть выучите его!
vitus_wagner: My photo 2005 (Default)
Тут Шнайер пишет, что появилась технология. котрпя позволяет по примерно минуте звучания определить ключевые характеристики голоса человека и его успешно имитировать.

Его, конечно, волнуют security implication, описанные еще в русских сказках, где кузнец выковывал (forge) волку тоненький голосок, чтобы пройти аутентификацию при входе в домик козы.

А меня больше волнуют художественные приложения. Этак если это дело пойдет, следующее поколение TTS плагинов будет пьесы в лицах зачитывать.
vitus_wagner: My photo 2005 (Default)
Еще прошлой осенью, когда я разорвал контракт с "Мегафоном", симка которого у меня использовалась в деревенском модеме, я решил что попробую Tele-2. Потому что представление о том, как работают в нашей местности Билайн и МТС у меня есть по телефонам. Хреново работают, могли бы лучше.

В отпуск я приехал с билайновской симкой, которая была куплена для Бужаниново. Но утверждается что работает по всей России. Правда, я ее втыкал не в родной модем. Разбираться как работает в дополопной точке доступа WL500Gold новомодный 4G модем в котором если не памяти, то флэш-диска точно больше, чем в той точке доступа, мне было лень. Тем более что 4G покрытия вроде ни у кого из операторов нет все равно, а мегафоновсий модем я давно разлочил.

Эксперимент в течение трех дней подтвердил что билайн в качестве интернет-провайдера в этих краях не пригоден. Коннект постоянно терял даже скайп. Ну нет так нет, В конце концов эта симка не для этой местности покупалась.

Сегодня поехали в Селижарово и я стал пытаться купить симку Теле2. Оказалось, что это не так просто. Офиса Теле2 на том месте, где я привык его видеть, и где его показывают до сих пор Яндекс-Карты (Карла Маркса 14) уже нет.

Глазастый ребенок разглядел рекламу Теле-2 на одном магазине, мимо которого мы проезжали на машине (торговый дом на углу центральной площади). Мы остановились и туда зашли. Нам сказали что здесь больше не продают теле-2, идите в кафе "Молодежное". Пошли в кафе. Там тоже реклама висит чин по чину и даже корытце для денег с логотипом Теле-2. Но контракты не продают, говоярт "запретили это нам". Кто и зачем - не уточняют.

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

Теперь вот сижу в интернете через нее. Вроде ничего работает. Яндексовский тест показывает 2 мегабита в секунду входящих и 100кбит/c исходящих. Хотя для скайпа 100кбит исходящих пожалуй мало.
vitus_wagner: My photo 2005 (Default)
https://www.debian.org/News/2017/20170425

Ранние IP-протоколы, возникшие с интернетом, отличались избыточной сложностью.
Недаром в названии протокола SMTP, фактически первого из следующей генерации, буква S означает Simple. Кроме того они предназначены для сети, где нет никого злонамеренного.
Интернет 80-х был "сетью друзей" в куда большей степени, чем позднейшее Фидо.

В принципе, большая часть тех протоколов уже мертвы. Часть - потому что нет таких задач, никто сейчас и не в курсе про то, что такое протокол ident или файл .plan, используемый в протоколе finger.

Фактически мертв и telnet. Хотя я еще помню времена, когда клиент telnet использовался как универсальный тестовый клиент для всех текстовых протоколов, его уже давно вытеснил netcat.

Только ftp еще хоть как-то шевелился. Несмотря на безумно замороченную конструкцию с двумя сокетами, путаницу ascii/binary active/passive он как-то по инерции продолжал сущестовать.

Но видимо его время наконец пришло. Если уж весьма консервативный проект Debian отключает доступ к своим ресурсам по ftp, оставляя только http.
vitus_wagner: My photo 2005 (Default)


Или еще о кофе и клавиатуре.
vitus_wagner: My photo 2005 (Default)
Почему-то злые дуровцы в очередном релизе Telegram Desktop поменяли раскладку файлов, в которые оно пишет.

Раньше у меня телеграм пускался

firejail --profile /etc/firejail/telegram.profile --private-home=.TelegramDesktop  /usr/local/lib/Telgram/Telegram


и все работало. Потому что не дам я некту, своих файлов из ${HOME}, хоть он дерись.

После апгрейда - работать перестало - при каждом запуске заново просит ввести код из SMS-ки.

Создал каталог .telegram-home, передвинул ~/.TelgramDesktop туда, запустил

firejail --profile /etc/firejail/telegram.profile --private-=.telegram-home  /usr/local/lib/Telgram/Telegram


Заработало. Но выяснилось что в .telegram-home оно создало не только .TelgramDesktop

Оно теперь еще .local/share/TelegramDesktop создает, и, похоже, в нем все и держит.

Но вообще, похоже, надо сильнее эту гадость от системы изолировать. Примерно как я skype изолирую.
vitus_wagner: My photo 2005 (Default)
Не успели Ирин ноутбук починить, как мой сдох. Блин, только-только успел привести в порядок смартфон.
vitus_wagner: My photo 2005 (Default)
https://www.theregister.co.uk/2017/04/06/canonical_cuts_jobs_with_unity_bullet/

https://www.theregister.co.uk/2017/04/05/ubuntu_euthanizes_unity/

Unity отменили, Ubuntu phone отменили, сокращают от 30 до 60 процентов сотрудников, причем в первую очередь режут отделы разработки продукты, инвестиции в них медленнее окупаются, а сохраняют поддержку и сейлзов - то что приносит в компанию быстрые деньги.

Интересно, дистрибутивы-то они по прежнему раз в полгода клепать будут или как?

А то убунта замечательно держала нашу релизную группу в тонусе - каждые полгода нужно по всей цепочке от pgbuildfarm до выходного тестирования заводить новые виртуалки, править spec-и, но самое главное - не забывать ВЫКИДЫВАТЬ из всего этого хозяйства снятые с поддержки релизы.

И сисадмины у нас в компании очень Trusty Tahr любят. Что, теперь их всех на Stretch переучивать?

В общем, мучивший всех вопрос "Как будет называть убунта свои дистрибутивы, когда латинский алфавит кончится (а кончится он уже с тем релизом, который в этом месяце)" похоже, разрешится несколько неожиданным образом.

Тэг rip пока не ставлю, может еще побарахтается.
vitus_wagner: My photo 2005 (Default)
Мы строили, строили и наконец построили
Мультимастер-кластер, адаптивное планирование запросов, нормальный декларативный синтаксис партиционирования.
vitus_wagner: My photo 2005 (Default)
Подумавши некоторое время над концепцией семантической локальности я пришел к в некотором смысле противоположной концепции "общего контекста коммуникации".

То есть меня в общем довольно давно волновал вопрос, почему за 40 лет не появилось языка программирования, который был бы shell лучше чем unix shell. То есть более высокоуровневый, с меньшим порогом вхождения. позволяющий легко формулировать сложные концепции.

Почему-то все попытки "улучшить" shell вели в строго противоположном направлении "давайте напихаем туда более низкоуровневых конструкций, массивов, объектов с методами, типизации". Да, эти конструкции, которые вполне себе высокоуровневы если смотреть с уровня ассемблера, даже портабельного, на уровне шелла - глубокие потроха, которые не надо выворачивать наружу.

Подумав, я пришел к выводу что

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

2. Должна быть некая система умолчаний. Сейчас в шелле контекст выполнения состоит пожалуй, из имени текущей директории (и. соответственно относительных путей). Ну с некоторой натяжкой - еще и списка фоновых задач из него запущенных - %1 меняет свое значение по ходу выполнения.

В более низкоуровневых языках программирования, которые являются аналогом письменной речи, система контекстов куда более развита. Начиная с let в Lisp-е и with в Pascal, и кончая развесистыми системами алиасов при импорте модулей в Python и Go. Где-то в промежутке namespaces в C++ и присваивание glob references в Perl. В общем придумано много способов сказать "сегодня это слово у нас значит то-то". Но это именно способы, характерные для письменной речи, причем даже скорее для научных и юридических текстов, а не для художественных и не для частной переписки.

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

(три дня эту мысль думал, а все равно непричесанная какая-то. Или я поторопился и надо было еще сутки подумать?)
vitus_wagner: My photo 2005 (Default)
http://esr.ibiblio.org/?p=7421

Раймонд умный пост написал по поводу концепций, которые лежат под Unix way. Я эту мысль про семантическую локальность три дня думать буду.
vitus_wagner: My photo 2005 (Default)
Про то как сделать, чтобы начинающие программисты лучше работали:

https://ask.slashdot.org/story/17/03/11/197257/ask-slashdot-how-do-you-make-novice-programmers-more-professional



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

The problem is that our industry, unlike every other single industry except acting and modeling (and note neither are known for "intelligence") worship at the altar of youth. I don't know the number of people I've encountered who tell me that by being older, my experience is worthless since all the stuff I've learned has become obsolete. This, despite the fact that the dominant operating systems used in most systems is based on an operating system that is nearly 50 years old, the "new" features being added to many "modern" languages are really concepts from languages that are between 50 and 60 years old or older, and most of the concepts we bandy about as cutting edge were developed from 20 to 50 years ago. It also doesn't help that the youth whose accomplishments we worship usually get concepts wrong. I don't know the number of times I've seen someone claim code was refactored along some new-fangled "improvement" over an "outdated" design pattern who wrote objects that bare no resemblance to the pattern they claim to be following. And when I indicate that the "massive view controller" problem often represents a misunderstanding as to what constitutes a model and what constitutes a view, I'm told that I have no idea what I'm talking aboutâ"despite having more experience than the critic has been alive, and despite graduating from Caltechâ"meaning I'm probably not a complete idiot.) Our industry is rife with arrogance, and often the arrogance of the young and inexperienced. Our industry seems to value "cowboys" despite doing everything it can (with the management technique "flavor of the month") to stop "cowboys." Our industry is agist, sexist, one where the blind leads the blind, and seminal works attempting to understand the problem of development go ignored.


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

E-Ink

Mar. 6th, 2017 10:42 am
vitus_wagner: My photo 2005 (Default)
Задумался вот, а не обзавестись ли мне по причине кончины смартфона книгочиталкой на электронных чернилах.

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

Правда, беглый обзор того что предлагают на рынке читалок привел к каким-то неутешительынм выводам.
В основном 6" модели предлагают разрешение 800x600. Причем за такие деньги, за какие можно купить 7" планшет с 1280x800 (правда, с богомерзким андроидом, на который непонятно как библиотеку синхронизировать)

Кстати, читалки уже научились работать с fb2.zip? А то какой-то древний lbook, которым уже лет пять пользуется моя мама, требует чтобы ему fb2 распаковывали прежде чем туда заливать.

То есть требования к читалке у меня такие

1. Wi-Fi не нужен. Синхронизировать библиотеку можно и по usb. Хотя, конечно если там будет из коробки ssh и rsync, то можно и wifi.
2. Разрешение экрана побольше, побольше. От 300dpi бы не отказался.
3. Качественная поддержка fb2 и epub.
4. Не более 8"
5. Платить много денег не согласен.

Про Go

Mar. 1st, 2017 05:58 pm
vitus_wagner: My photo 2005 (Default)
Go похож на C, который укусил Python. А свечку им при этом держал Tcl, иначе откуда там открывающая фигурная скобка обязательно на той же строке что и for или if,

Но вообще ряд идей при прочтении мне понравился.
Особенно его relaxed типизация. Которая достаточно строга почти всегда, кроме тех случаев, когда это неудобно.


Хотя, конечно, если этот язык распространится, словосочетание panic attack будет в IT-шных кругах значит совсем другое.

И конечно, блин, стали дизайнить язык, заточенный под обработку событий, и имеющий прямую и красивую объектную модель, а GUI-тулкит к нему забыли придумать.
В результате народ делает биндинги для кривых тулкитов, разработанных для языков у которых объектная модель основана на наследовании, а не на композиции.

Вообще удивительно, насколько хорошие программисты не любят GUI, и пытаются свалить его программирование на каких-то чайников, не умеющих ясно мыслить (в результате чего рождаются всякие Gtk и прочие WX).
vitus_wagner: My photo 2005 (Default)
На ЛОР рекламируют краудфундинг на семидюймовый ноутбук с убунтой.

Судя по картинкам, это примерно половинка от по размерам EeePC, при этом по возможностям - вполне приличная машинка.

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

Очевидно, что в спокойной обстановке читать с 7" экрана гораздо удобнее, чем с 4". Пожалуй уже и djvu и отсканированные pdf, тем более при разрешении 1920x1024 будут вполне читаемы.

Правда, ноутбучный форм-фактор это практически 100% работа в альбомной, а не портретной ориентации.

В неспокойной обстановке, например в метро или в очереди в поликлинике, читать с 7" планшета наверное, куда более удобно чем с 10" планшета, не говоря уж о EeePC. АSUS Transformer у меня как-то в такой ситуации поплатился экраном - я его запихнул в сумку, не присоединив к клавиатуре, которая в закрытом состоянии там экран защищает. Но вообще у меня как-то трансформер проигрывал конкуренцию смартфону на предмет чтения в транспорте. Дело дошло до того что я даже полученный от редактора вычитанный текст "Детей Пространства" пытался вычитывать на телефоне, а не на планшете.

Таскать собой постоянно устройство размером 18x10x2cм и весом полкило - это уже как-то на верхнем пределе. Во внутренний карман пиджака, пожалуй, еще влезет, в нагрудный карман рубашки - явно уже нет. Туда и Nokia N800 не очень лезла.

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

Идеально, конечно было бы взять 7" планшет из современных с USB-клавиатурой - там будет и GSM-тракт и GPS, но где же взять такой планшет, чтобы его железо полностью поддерживалость открытым ПО. Потому что чем дальше, тем меньше мне нравится то, как ограничивает возможности пользователя по контролю над устройством, андроид.

Profile

vitus_wagner: My photo 2005 (Default)
vitus_wagner

August 2017

S M T W T F S
  1 2 3 45
6 78 9 10 11 12
13 14 1516171819
20 212223242526
2728293031  

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Aug. 22nd, 2017 11:15 am
Powered by Dreamwidth Studios