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, но где же взять такой планшет, чтобы его железо полностью поддерживалость открытым ПО. Потому что чем дальше, тем меньше мне нравится то, как ограничивает возможности пользователя по контролю над устройством, андроид.
vitus_wagner: My photo 2005 (Default)
Традиционная задача - как попасть по ssh на хост, не имеющий достижимого извне IP.
В данном случае в варианте "как мне попасть с работы домой".

У домашней машины есть VPN в которую включен хостинговый сервер.

Поэтому в принципе годится любой вариант ssh-через-прокси.

На эту тему теперь есть большой и толстый cookbook.

Начинаем применять рецепты оттуда по очереди

1. ssh -J www.wagner.pp.ru wagner

Увы, у меня на рабочей машине jessie. В нем openssh 6.7, он -J еще не умеет. С виртуалок со stretch и FreeBSD 11 попробовал, работает. Но dist-upgrade на stretch говорить рано. И уж точно не для этой фичи.

2. ssh -o "ProxyCommand ssh -W %h:22 www.wagner.pp.ru" wagner

Это мой openssh умеет. И, в принципе это у меня сейчас штатный способ

3. ssh -o 'ProxyCommand ssh www.wagner.pp.ru nc %h 22' wagner

Это умели и версии openssh, существовавшие десять лет назад. Сейчас я этого даже пробовать не стал. Зачем, если -W есть?

Далее вот такой интересный вопрос - в .xsessionrc на работе у меня все равно прописано открытие ssh-сессии на мою vds с -D 4080. Чтобы использовать этот порт в качестве web-прокси. Потому что не хочу я ошибку 451 видеть.

А может этой самой socks прокси можно еще воспользоваться для хождения по ssh?
Увы, openssh хорошо умеет быть socks-сервером, но не обучен быть socks-клиентом.

В вышеприведенном cookbook рекомендуют использовать netcat в качестве ProxyCommand.

ssh -o "ProxyCommand nc -X 5 -x localhost:4080 %h %p" wagner

Полез смотреть, а-а-а, netcat в jessie не понимает ни -X ни -x. Посмотрел повнимательнее, все гораздо хитрее - в jessie есть четыре разных нетката. И netcat-openbsd все что надо понимает. А у меня почему-то стоял netcat-traditional.

Остался нерассмотренным вопрос использования опции -w в ssh для организации полноценного VPN средствами самого ssh. Но об этом как-нибудь в следующий раз.
vitus_wagner: My photo 2005 (Default)
Тут Стас Келвич подсказал, что в наше время надо слать нотификации о завершении всяких длительных процессов через мессенджеры.

Мне эта идея понравилась и я поменял нотификацию об окончании бэкапа с десктопного notify-send на sendxmpp.

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

Джабберное сообщение от юзера backup никуда с экрана не пропадает, пока сам его не закрою.

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

Сервер, расположенный в квартире, где ты не живешь, объединяет худшие недостатки хостингового сервера с худшими недостатками домашнего.

То есть в случае любой проблемы туда надо ехать. А не просто дождаться конца рабочего дня, когда ты туда так и так попадешь. Хотя для почты и downtime в 8 часов может быть слишком большим.

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

С другой стороны, появляется географически разнесенный бэкап. Пока все мои электронные устройства обитали в одной квартире, у меня периодически возникала мысль увозить один из бэкапных внешних дисков в деревню, и каждую неделю менять их местами.
Благо летом я все равно езжу в деревню каждые выходные.
vitus_wagner: My photo 2005 (Default)
Одиннацать лет, с 2006 года я боролся за то чтобы использовать интернет как peer-to-peer сеть - держать какую-то серверную функциональность на компьютере, расположенном в своей квартире.

А тем временем интернет все больше и больше превращался в двудольный граф с четким делением на серверный и клиентский сегмент, где серверам нельзя то, что можно клиентам (например такие сайты, как gutenberg.net или wikipedia очень подозрительно отосятся к коннектам с IP-диапазонов, принадлежащих хостинговым провайдерам).

И вот в эту среду наконец сломался. Уволок последнее что оставалось - imap-сервер, на хостинговую VPS-ку.

С точки зрения безопасности это чистый проигрыш - во-первых, для спецслужб стало возможным получить доступ к моим архивам почты, не получая ордера на обыск моей квартиры. Во-вторых, сообщения всяких intrusion detection систем, работающих на сервере (а их у меня там сейчас аж две - aide и logcheck) ложатся в почтовые ящики на том же сервере, а значит толковый взломщик имеет шансы их подчистить. Можно, конечно, подумать как пофиксить систему бэкапов, чтобы это его не спасло.
vitus_wagner: My photo 2005 (Default)
У кошки коньюктивит, а у Алькора сдохла micro-SD, которая там вместо винта.
По этому поводу бедной кошке промывали глаза хлоргексидином в семь утра (пока я не ушел на работу),
а почта для доменов wagner.pp.ru и spacians.net срочно переехала с Алькора на Денеб.

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

[livejournal.com profile] slobin, проверь, все ли твои почтовые адреса продолжают работать как раньше. По идее, я не должен был ничего сломать, но вдруг...
vitus_wagner: My photo 2005 (Default)
Птичка, которая пишет на заборах Расширение для браузера, которое кликает на рекламные баннеры, создано!

Насколько я понял, там есть еще куда совершенствоваться, но начало положено.
Как выяснилось, оно не только обесценивает основную валюту баннерообменных сетей - клики. но и существенно осложняет сбор рекламщиками статистики о действиях пользователей, так как вычленить среди действий робота-кликальщика действия человека (которых гораздо меньше) нетривиально.
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)
Двадцать восемь хвостов и все, кто в лес, кто по дрова.
У каждого свои особенности поведения.

Profile

vitus_wagner: My photo 2005 (Default)
vitus_wagner

April 2017

S M T W T F S
       1
2 3 4 5 6 7 8
91011 12 13 14 15
16 17 18 19 2021 22
23 24 25 26 27 2829
30      

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Apr. 28th, 2017 11:42 pm
Powered by Dreamwidth Studios