https://lenta.ru/news/2021/04/20/date_ussr/
Комментировать фотографию особо не могу, ибо я хоть и родился в СССР, но
ходил только в детский сад в нём. Но тоже показалось странным что девушку
на такой ужин бы стали звать. А что реально сильно бросается в глаза: хлеб,
который не поверю что раньше так резали. Да и сейчас так нарезанный хлеб у
просто людей я никогда не видел чтобы делали.
Вчера попробовал готовую еду от Милти. Попросил "макароны по флотски"
(глядя на прилавок), а дали "пенне болоньезе". Но это были одни из самых
вкусных макарон что я пробовал -- наверное именно тут и крылась разница
между "по флотски" и "пенне болоньезе".
А ещё вчера брякнул что если бы сейчас какой тортик и хотел бы съесть,
то "Сказку". Коллега сказала что его меньше всего любит. И почти
одновременно заметили про его мокрое тесто: именно оно ей и не нравится,
а я готов только его (главное чтобы было пропитано, а не сухо!) есть без
крема бесконечно. Думал что Сказка всем нравится.
На что я сильно удивлён, ибо думал что не увижу их уже. Они правда не
большие, ибо это маленькие клубы с black metal группами. За Gojira я
своих денег то так и не увидел. Хотя заявление на эти три концерта было
написано ещё до начала карантина. Но у меня ещё на руках есть билеты за
которые ещё не возвращено ничего.
https://github.com/dudik/herbe
https://vermaden.wordpress.com/2021/04/18/freebsd-desktop-part-23-configuration-herbe-notifications/
Я всплывающими оповещениями не пользуюсь сейчас, ибо по сути всё что
меня интересует просто пишет bell alert в терминал и он выставляет у
окна urgency статус, который я вижу в dwm-е в строке состояния тэгов.
Когда-то для mcabber использовал вывод сообщений jabber приходящих,
но может быть неудобно когда рядом есть человек который может увидеть
эти сообщения.
А ещё одной причиной почему я не пользуюсь оповещениями было то, что
одна из оповещалок написана на Python была, от которого я стараюсь
держаться подальше на своей системе, если речь не про работу. Бесит
его медленная скорость работы. А много других оповещалок работают
через DBus, что вообще не рассматривается -- DBus я не запускаю и
убеждаюсь что никто его не запускает (1517827838dfcb8d1baaaeb75c258f2b59f8714d)
хотя кто-то из зависимостей его устанавливает.
herbe зависит только от X-библиотек и ничего не умеет кроме как просто
показывать сообщения. Есть и патч для того чтобы в вертикальном стэке
отображать. Suckless friendly штука.
Со вчерашнего обеда IPv6 внезапно перестал ходить на моей VPS-ке.
traceroute показывает что на втором hop-е всё куда-то пропадает. На
письмо support@ не отреагировал. Сегодня написал в броузере в online
окошечке (в кой да веки пришлось запустить jail с firefox-ом) -- но
пока никакой починки и сроков не сообщают. А ведь больше года, вообще
ничего не трогая, работало. Ощутимо увеличился трафик DNS-а до моего
домашнего сервера, раз по IPv6 получается стал доступен только он.
https://www.youtube.com/playlist?list=PLOQZmjD6P2Hk9m-sEG_fouQrtzjOC3-pQ
"RetroAhoy" мне знакомо за счёт видео про Secret Of Monkey Island
(b07c5380bed92966503f78db27a662683863e659). А тут вот видео про Quake
попалось. И вижу что и про другие игры легендарные игры тоже. Этот
playlist однозначно у меня будет скачан и просмотрен весь!
https://www.opennet.ru/opennews/art.shtml?num=54962
В одном комментарии кто-то, видимо, хотел постебаться и задал вопросы о
FreeBSD:
вайн работает?
нвидиа блобы есть?
hdmi второй монитор динамически умеет подхватывать?
звук через hdmi гоняет?
компиз работает?
набор системных утилит гуишных есть?
ютубчег аппаратно декодирует?
засыпать и хибернейт умеет?
Что забавно, но даже я в курсе того что всё это есть и на всё ответ
утвердительный. Правда даже примерно не помню что такое "компиз", кроме
того что это что-то с графикой связано. А WineHQ, HDMI+звук, аппаратное
декодирование видео у меня на текущей системе работало. А засыпать оно
умело, но на текущей системе мне это просто не нужно.
Кто-то ещё спросил про Bluetooth. Не знаю как сейчас, но я и звук и PAN
гонял по нему между FreeBSD системами когда-то.
https://ru.wikipedia.org/wiki/%D0%93%D0%BE%D1%81%D1%83%D0%B4%D0%B0%D1%80%D1%8C_(%D0%9C%D0%B0%D0%BA%D0%B8%D0%B0%D0%B2%D0%B5%D0%BB%D0%BB%D0%B8)
Крутая книга! Вообще я для себя особо ничего нового не открыл. Но по
жизни замечал что многие действия и поведение многих правителей люди
осуждают, а меня удивляло: "как же так? ведь именно так и должен
поступать *правитель*!". Быть белым и пушистым не получится (лишь
короткий срок). В книге всё аккуратно и по полочкам разложено -- это и
нравится. И не смотря на то, что книге уже более полтысячи лет, а
актуальность в целом остаётся. Нравится что Макиавелли не отталкивается
от желаемых вещей, не от того что должны бы быть, а от того что как на
самом деле обстоят дела, как всё в действительности, а не мечтах.
https://ru.wikipedia.org/wiki/%D0%92%D0%B5%D1%81%D1%8C_%D1%8F
Вроде бы тема не новая, но мне так понравился этот фильм! Много раз
смеялся, а не просто улыбался. То ли действительно очень хорошо и Стив
Мартин мне нравится как играет, то ли я комедии что ли давно не смотрел
хорошие?
https://naked-science.ru/article/psy/kriki-radosti-lyudi-raspoznali-luchshe-krikov-straha-i-agressii
Ну тут я не удивлён. А вот на даче одни больно умные люди в колонках
поставили записи всяких напуганных птиц -- мол чтобы отгоняло остальных,
ведь слышно же что тут опасность. Я не знал что такие записи бывают, и
не ожидал что настолько никого не уважающие выродки-люди бывают чтобы
всем в округе эту тревогу громко поставить, но я сразу чувствовал, слыша
этих птиц, ещё не зная что это запись, что явно что-то не в порядке,
тревожное оно всё какое-то. Хотя я ни одного признака не могу назвать
по которому я это понимаю -- только чувство.
https://naked-science.ru/article/psy/vyyavlena-svyaz-mezhdu-legkim-fizicheskim-nasiliem-i-razvitiem-mozga-rebenka
Некоторых детей возможно и не надо шлёпать. Но например меня, если бы не
лупили, то сидел бы я где-нибудь в тюрьме уж точно или бы почевал под
землёй. С некоторыми по другому нельзя -- по другому они ничего не понимают.
В фильмах уже вроде показано много раз в кого превращаются дети которые
в принципе не знают что такое наказание -- это какие-то монстры.
Полез я ради любопытства в hacking guide NTPsec проекта, в котором Эрик
Реймонд является главным архитектором и программистом. Полез то ради
запрещённых к применению действий, типа использования не reentrant
функций и всяких sprintf. Ничего нового не увидел.
Но (в блоге каком-то прочитал) что одно из первых действий что они
сделали это переводили int-ы на C99-style bool-ы. Я вот всякие проекты,
в том числе suckless guide, видел где C99 это минимум, но при этом они
bool не используют. Ну почему? Какого чёрта!? ESR молодец!
Ну а от чего в восторге это от требования всегда и везде расставлять
фигурные скобки, даже там где не обязательно (if (smth) action;). Чуть
ли не везде я вижу что люди опускают в подобных if-ах скобки и даже
боязно спрашивать зачем. Ведь это же жутко неудобно когда надо вставить
какую-то отладку или breakpoint в отладчике и для вставки ещё одного
action уже надо расставлять эти скобки. Go язык молодец: он аналогично
обязывает и точка. Ну и ESR молодец! Хотя он и упоминает что это ещё
может быть полезно для того чтобы проще сконвертировать код в Go.
Также намекает на использование stdint.h типов для int-ов, когда
возникает вопрос достаточной ли длины "просто" тип int. И что нельзя
делать предположения о знаке у char-ов. Вроде бы очевидно, но я тьму
кода вижу который плевать на всё это ходил.
https://github.com/miquels/webdavfs
Случайно попробовал ради интереса этот проект на Go (+FUSE) и он без
проблем и быстро работает для чтения. На запись, насколько понимаю,
работать почти ни с чем не будет, так как нужен PUT поддерживающий
Range. lighttpd модуль такого не поддерживает. golang.org/x/net/webdav
реализация тоже.
https://www.opennet.ru/opennews/art.shtml?num=54928
OCB режим работает у меня на практике где-то на треть быстрее чем CFB+MDC.
Добавил явно AEAD предпочтение в свой основной ключ.
https://www.metal-archives.com/albums/Jig-Ai/Jig-Ai/119077
https://www.metal-archives.com/bands/Jig-Ai/63996
Всё же первый альбом моей любимейшей группы Jig-Ai -- однозначно шедевр.
Слушаю его с момента выхода, когда я ещё толком с миром грайндкора и
горграйнда и не был знаком. И до сих пор отлично слушается и работается
под него. По сути этот легендарный альбом стал чуть ли не зачинщиком
жанра чешского горграйнда, хотя корни уходят конечно же в Ahumado
Granujo и Negligent Collateral Collapse.
Помню что по началу я его как-то не особо воспринял. Не понимал то ли
нравится, то ли нет. Но было желание снова поставить. И снова и снова. И
потом уже внезапное осознание что он просто дико нравится. Классика и
синоним чешского грайнда!
Причём я отходил уже 128 концертов и *единственная* за всё это время
фотография сделанная мною была с барабанщиком Jig-Ai группы:
http://www.stargrave.org/photoes/jigai.webp
Ну а футболки с расчленёнкой Jig-Ai я по сути ношу с 2006-2007-го и
вплоть до текущих лет, причём и на работе и на конференциях:
(http://www.stargrave.org/photoes/cif5.webp
Чуть ли не полжизни!
На работе надо было повозиться с примерами работы TLS 1.3 протокола и
IKEv2+ESPv3 -- конкретные значения и вычисления обозначить. Не смотря на
то, что TLS1.3 является существенно упрощённой версией, относительно
прежних, он всё равно во много раз сложнее IPsec связки современной. На
создание документов с расчётами TLS1.3 я потратил, мне кажется раз в
десять больше времени.
Речь конечно только про криптографию. В целом возможностей и возможных
вариантов состояния IKEv2 конечно больше.
https://ru.wikipedia.org/wiki/%D0%93%D0%BB%D0%B0%D0%B2%D0%BD%D1%8B%D0%B9_%D1%85%D1%80%D0%B0%D0%BC_%D0%92%D0%BE%D0%BE%D1%80%D1%83%D0%B6%D1%91%D0%BD%D0%BD%D1%8B%D1%85_%D1%81%D0%B8%D0%BB_%D0%A0%D0%BE%D1%81%D1%81%D0%B8%D0%B9%D1%81%D0%BA%D0%BE%D0%B9_%D0%A4%D0%B5%D0%B4%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D0%B8
Самый красивый храм из всех что я видел. Я правда не был и в Храме
Христа Спасителя, но никто не заикнулся что с ним можно было бы
сравнивать. Очень красиво, светло, куча мозаики, которая мне нравится.
Ну и всё новенькое, блестит. В Испании я так и не успел побывать в
Саграде-Фамилии, так что на данный момент ГХ ВС РФ это самое
впечатляющее что видел из подобных строений христианских. Рядом музей
памяти ВОВ, где тоже много чего можно посмотреть и почитать.
https://www.litres.ru/aleks-orlov/grabiteli/
Очередная (c1f843d32aa49bec47cd46ea75f894834dcd9e30) книга из серии
"Тени войны". В очередной раз получил громадное удовольствие от
прочтения. Но, на этом все аудиокниги этого автора у меня закончились.
Два года назад я судился с этой мошеннической компанией чтобы вернуть
деньги за нерабочий купленный у них стример. А тут получил письмо, где
они требуют вернуть деньги назад, мол они никаких обязательств передо
мной не имели и по ошибке перевели деньги, поэтому я незаконно
обогатился. Бессовестность бизнесменов не знает границ.
func Factorial(n int) int {
var (
left, right = 1, 1
wg sync.WaitGroup
)
wg.Add(2)
pivot := n / 2
go func() {
for i := 1; i < pivot; i++ {
left *= i
}
wg.Done()
}()
go func() {
for i := pivot; i <= n; i++ {
right *= i
}
wg.Done()
}()
wg.Wait()
return left * right
}
Discovered Go patterns
package fac
func Factorial(n int) <-chan int {
ch := make(chan int)
go func() {
prev := 1
for i := 1; i <= n; i++ {
v := prev * i
ch <- v
prev = v
}
close(ch)
}()
return ch
}
Fix Go weaknesses with mature solutions
package fac
/**
* @see https://en.wikipedia.org/wiki/Factorial
*/
type IFactorial interface {
CalculateFactorial() int
}
// FactorialImpl implements IFactorial.
var _ IFactorial = (*FactorialImpl)(nil)
/**
* Used to find factorial of the n.
*/
type FactorialImpl struct {
/**
* The n.
*/
n int
}
/**
* Constructor of the FactorialImpl.
*
* @param n the n.
*/
func NewFactorial(n int) *FactorialImpl {
return &FactorialImpl{
n: n,
}
}
/**
* Gets the n to use in factorial function.
*
* @return int.
*/
func (this *FactorialImpl) GetN() int {
return this.n
}
/**
* Sets the n to use in factorial function.
*
* @param n the n.
* @return void.
*/
func (this *FactorialImpl) SetN(n int) {
this.n = n
}
/**
* Returns factorial of the n.
*
* @todo remove "if" statement. Maybe we should use a factory or somthing?
*
* @return int.
*/
func (this *FactorialImpl) CalculateFactorial() int {
if this.n == 0 {
return 1
}
n := this.n
this.n = this.n - 1
return this.CalculateFactorial() * n
}
Senior Go programmer
package fac
// Factorial returns n!.
func Factorial(n int) int {
res := 1
for i := 1; i <= n; i++ {
res *= i
}
return res
}
Rob Pike
package fac
// Factorial returns n!.
func Factorial(n int) int {
res := 1
https://lists.freebsd.org/pipermail/freebsd-current/2021-April/079423.html
То есть официально самая лучшая и полная поддержка в FreeBSD теперь
только у двух платформ: amd64 и aarch64.
Упоминают машинки Ampere eMAG на которых они всё собирают. 32-х ядерные
3GHz зверюги с поддержкой современной большой памяти и PCIe. В рассылках
видел что и ZFS отлично работает годами у некоторых людей на 64-bit ARM-ах.
Может быть уже вот-вот следующее железо у меня будет уже на AArch64, а
не amd64? Наконец-то я буду сидеть на RISC процессорах? Ведь и цены там
не Эльбрусовые -- за приличные деньги получаешь приличную производительность.
https://habr.com/ru/post/551658/
Тоже сегодня видел ссылки на то, что хотят изменить название у этого
даже мне известного проекта. Типа 30 лет все с ним работали, всё было
нормально, а теперь внезапно начали углядывать "член" в его названии и
логотипе и поэтому срочно нужно что-то делать. Хочется сказать что мир
сходит с ума, но мне кажется что просто в нормальных ИТ сообществах
стало появляться куча людей "со стороны", уничтожающих всё на своём
пути. Как это было с Usenet и его темой "eternal september".
https://ru.wikipedia.org/wiki/%D0%9C%D0%B8%D1%81%D1%82%D0%B5%D1%80_%D0%9F%D0%B8%D0%BA%D0%BB%D0%B7
Мол мне как любителю Рика и Морти (их то я обожаю!). Посмотрел сезон,
досмотрю остальные, но это всё же ни в какое сравнение с RnM. В Пиклзе
просто жесть на жести, ничего кроме скоростной жести, хоть замедляй
видеоряд чтобы рассмотреть задумки. Но мне это всё всё равно приятнее
чем сортирный пошлый юмор. Плюс я очень люблю собачек.
https://nasse.livejournal.com/1917788.html
Ну что тут сказать -- полностью согласен с тем что это отвратительный
интерфейс. Мышку я бы заменил на трэкбол, но всё для своих задач. А ещё
недавно я осознал что у меня никогда не было экранов ёмкостных -- всегда
только резистивные: Motorola A1200e, Palm Tungsten E2, OpenMoko пару штук.
И мне они куда больше нравятся ёмкостных, из-за реально значительно
лучшей точности "целеуказания", конечно не без помощи стилуса. А
ёмкостные экраны... как беру иногда у родителей что-нибудь там им найти
или показать, так хочется вставить какой-нибудь USB-хаб и туда вставить
нормальные устройства ввода. Хотя где-то touchscreen может быть и удобнее.
На работе я награждён почётной грамотой "за добросовестное исполнение
должностных обязанностей и большой вклад в развитие Общества". И вот
дилемма: с одной стороны, ведь я объективно считаю что последний год
работаю как никогда плохо, с, как никогда в жизни, отвратительнейшим КПД.
Я на полном серьёзе думал что по чести и совести мне стоило бы уволиться,
чтобы не тратить впустую деньги компании. А тут благодарность наоборот.
Хотя и не понимаю за что, ведь ни одного сданного проекта (хотя даже мне
сложно ответить что я считаю под "сданным" или реально использующимся) у
меня за всё время работы в компании ещё нет. Прямая противоположность
тому как я даю себе оценку. С другой стороны, когда я был в командировке в
Сирии -- это единственные пару месяцев когда я выкладывался как мог на
все 100% с чистой совестью на этом месте работы. И кстати этот проект то
был сдан, но по сути это работа по внедрению/эксплуатации/обучению, а не
разработке. Но от коллег по команде позже вообще в итоге получил мнения
о том что я ничего не делал и даже вредительствовал. Тоже прямая
противоположность тому как я тогда давал себе оценку. Чертовщина
непонятная.
http://cr.yp.to/critbit.html
DJB пишет crit-bit деревья настолько клёвая, простая и быстрая
структура, что ей можно бы было заменить зоопарк примитивов например в
том же Python. Мол штатная практика это использовать хэш таблицы где
нужно находить по точным соответствиям; или кучи (heap), где нужно
искать минимум; или AVL, красно-чёрные деревья для остального.
* хэш таблицы поддерживают вставку, удаление и точный поиск.
crit-bit поддерживают вставку, удаление, точный поиск и упорядоченные
операции типа нахождения минимума. Плюс crit-bit гарантирует хорошую
производительность, в отличии от хэшей где некоторые данные могут
деградировать её
* heap поддерживает вставку, удаление и нахождение минимума. crit-bit,
кроме указанного выше, ещё и поиск по общему суффиксу
* структуры общего назначения, типа AVL или B-деревьев, поддерживают
аналогичные операции что и crit-bit, но crit-bit быстрее и проще,
особенно для строк разной длины. B-деревья представлены в виде очень
удобных блоков памяти для работы с диском, но такое же дружелюбное
"кластеризованное" представление crit-bit деревьев тоже сделать легко
* представьте насколько будут довольны программисты, если ваш встроенный
базовый тип данных не только позволит искать "x", но и упорядочивать
строки после "x". С хэш таблицами этого не сделать, а AVL сложнее и
медленнее
* Most people don't seem to realize how fast crit-bit trees can be;
* Most people don't seem to realize how small crit-bit trees can be;
* Most people don't seem to realize that crit-bit trees support all of
the standard data-structure operations. PATRICIA is often dismissed as
being large and complicated, but pure crit-bit trees are actually
quite small and simple
DJB уже замечен в гениальных изобретениях и творениях. И замечен в
полном отсутствии пиара или популяризации. Может быть и с crit-bit
аналогично?
https://gregoryszorc.com/blog/2021/04/06/surprisingly-slow/
Понравилась статья о том, что на наших мощнейших компьютерах, некоторые
операции могут быть на удивление медленными.
* Environment detection in build system
Множество раз замечал что, действительно, сама сборка софта может
занимать в разы меньше времени чем отработка autoconf ./configure
скрипта. На работе когда я перевёл Си проект, в котором прилично вещей
автоматически определяется, на redo, то все эти цели стали
распараллеливаться и конфигурирование плюс сборка занимают пару секунд
* Про fork/exec overhead и file close на Windows системе не в курсе, ибо
не работаю с этим миром в принципе
* То что можно в разы ускорить сборку софта просто не заставляя выводить
это всё в терминал -- давно знал. Медленные терминалы это ещё какая
реальность, особенно часто они почему-то являются default-ными в
системе. Ну и то, что сам по себе системный вызов write() имеет вполне
себе ощутимый вес -- об этом тоже не забываю и вовсю стараюсь
буферизировать данные в памяти перед его вызовом
* С изменением частоты процессора не особо знаком. Уже давно все
ноутбуки держу в режиме постоянного числодробления и полного
отключения всех этих фич по управлению питанием и частотами -- и
стабильность и простота. Но да, помню что читал про забавный факт о
том что если заряжать Apple ноутбуки не с той стороны -- то будет
падение производительности. И особенно на текущем ноутбуке я замечал
что запустив какую-то ресурсоёмкую задачу можно поднять частоту,
соответственно и производительность и снизить время выполнения многих
команд, из-за которых процессор даже не попытается ускориться. У меня
в фоне distributed.net числодробящий клиент висит с idprio 31
приоритетом поэтому. Экономия это конечно хорошо, но всему должна быть
мера
* Время запуска интерпретаторов Python, Ruby, Node.js -- оно просто
громадное! Именно только из-за этого времени я множество скриптов и
программ переписывал на другом языке. Запуск долгоживущего сервера --
не критично сколько будет запускаться, но если это часто вызываемая
утилита (даже просто для ведения заметок), то жутко угнетает видимая
задержка
* Раздел про I/O я не очень понял. Ну точнее я прекрасно понимаю почему
fsync() может быть достаточно медленной операцией -- для меня это не
вызывает удивления. Видимо, потому что любил читать и понимать
устройства файловых систем. Ну а то что из-за NVMe действительно
кардинально может меняться подход к I/O -- это да, факт. С NVMe I/O
может перестать быть бутылочным горлышком, чем оно де-факто всюду и
везде всегда являлось
* И отсюда, соответственно, появляется и тот факт, что сжатие данных
может наоборот вести к тому, что CPU будет узким местом, а не дисковая
подсистема или сеть. Благо, у меня чёткое осознание что нужно
проверять где и в чём затык, а не слепо что-то там пытаться сжимать.
Иногда сжатие может помочь с уменьшением кол-ва round-trip-ов, из-за
уменьшенного кол-ва пакетов, тем самым сокращая задержки, хотя
запросто и ни капли не увеличивая пропускной способности
* Тема про то, что заранее скомпилированные пакеты/бинари могут не иметь
кучу оптимизаций под современные процессоры -- мне тоже хорошо
знакома. Когда я пользовался FreeBSD на AMD K6-2 233MHz, то точно
помню перекомпилирование всей системы/ядра/софта с нужным -march
позволяло на 10% поднимать производительность в целом. Ещё один довод
чтобы собирать софт из исходников. Хотя я скорее поверю и в то, что в
общем случае для yet another home computer или yet another server все
эти оптимизации не существенно чем будут помогать. А CPU-hungry софт и
так следит за тем чтобы собираться с нужными оптимизациями
* Тема про то, что банальное разбиение на строки может быть более долгой
операцией чем целые алгоритмы создающие diff на основе этого -- мне
тоже понятна. И, честно, когда в Go приходится что-то делать над
каждым байтом/символом просто итерируясь -- скрепя сердцем, закрываю
на это глаза, слепо надеясь (зная что это наверняка не так) что
компилятор мог бы это и прооптимизировать
Но вообще это отличные примеры того что нужно всегда всё мерить, а не
делать предположения, если неизвестно устройство/особенности. Без устали
повторяют про то, что надо оптимизировать нечто только после измерений и
понимания что действительно такое то место является бутылочным горлышком.
https://habr.com/ru/company/maxilect/blog/551366/
Больше всего меня удивил в статье тот факт, что при парном
программировании люди буквально физически используют чужой компьютер.
Вообще не понимаю как это можно. Речь даже не про средства ввода, а про
то, что редакторы на практике у людей настолько по разному настроены,
что они же чуть ли не неюзабельны для других становятся.
Но автор приходит к точно такому же заключению, что и другие
пользователи даже с десятилетними стажами этой раскладки: оно имеет
смысл только на литературных текстах. Про горячие клавиши я даже не
думал прежде. Когда-то были мысли о попытке перехода на эту раскладку.
https://habr.com/ru/company/yandex/blog/550298/
Думал что будет что-то ещё крутое про сетевую инфраструктуру, как
когда-то видел доклад от Яндекса, а тут:
* У них IPv6-only сеть — у нас IPv4: требования
OpenContrail/Tungsten Fabric.
* У них тенденция к отказу от MPLS — для нас это основной способ
туннелирования трафика.
Меня даже MPLS как-то больше напрягает, чем IPv4. В не-cloud Yandex всё
выглядит куда круче и современнее. Но всё равно интересно про такие
штуки читать!
https://nag.ru/articles/article/108399/ipv6.html
Оказывается тормоза внедрения IPv6 у нас могут быть банально из-за
СОРМа, который не умеет этот протокол. А ведь доля общемирового трафика
составляет уже почти треть. Всё же есть чему бывает поучиться у США,
которые сказали что переходить на IPv6 надо и точка.
Конфигурация сети в современных GNU/Linux дистрибутивах
https://utcc.utoronto.ca/~cks/space/blog/linux/NetworkingAndLinkSignal
будет происходить только когда появляется link. И это было давно в
NetworkManager и теперь и вообще штатное поведение в systemd. Сам
замечал что на каком-то модном дистрибутиве мне показалось что адреса
появляются только когда есть link, но я подумал что может у меня руки
кривые или какой-то очередной баг. Даже для домашнего сервера мне это не
подходило бы: если нет link-а от провайдера, то мои демоны не должны
запускаться, потому что нет адресов на интерфейсах? Лютый бред. И это
уже не говоря про нормальные, не домашние, сервера.
D оказался не таким уж и богатым по возможностям. Для своей рабочей
библиотеки заюзал почти все функции и стал понимать кучу других
скриптов. Сила DTrace то конечно в самих имеющихся probe-ах, но я пока
только со своими собственными userspace SDT имел дело в основном. Чуть
чуть обмазав код probe-ами уже полезные результаты получаю прогоняя весь
цикл программы.
Не обошлось без хаков. Насколько понял, Solaris (SunOS), будучи типа
первопроходцем динамической линковки, очень её любит и поэтому DTrace из
коробки не особо то дружит с статическими библиотеками. А объектные
файлы программы надо пропускать через dtrace -G чтобы он их "подправил"
вкупе со всеми остальными зависимостями и добавил DTrace вызовы вместо
пустышек. В итоге ничего лучше не придумал чем... во временной
директории распаковывать объектные файлы из .a библиотеки и их вместе с
.o самой программы обрабатывать dtrace -G и уже это всё вместе собирать.
dtrace -h и -G отрабатывают и под GNU/Linux в составе systemtap-sdt-dev
и успешно собирает целевые программы, внутри которых честные STAP пробы.
Везде читал, ещё давно, что SystemTap та ещё редиска. Не помню причин
точных, но вроде как DTrace это штука которая с минимальнейшим
overhead-ом может миллионы событий отслеживать/обрабатывать и с
гарантией что это никак не может повлиять на работу системы, тогда как
SystemTap может вообще всё обрушить. Ну как всегда в GNU/Linux
экосистеме: всё всегда меняется, делается обратно-несовместимым и
поэтому нафиг никому не нужным. А ещё для SystemTap нужно каждый раз
компилировать модуль для ядра для его загрузки, тогда как DTrace
моментально in-place запускается и я за минуту по несколько раз скрипт
успеваю переписать чтобы посмотреть что из этого выйдет.
Но SystemTap инструментарий я в итоге не заюзал, а потрогал bpftrace и
bcc. В общем то, что относится к модному eBPF. Статей много на тему eBPF
и USDT под GNU/Linux... но буквально *ни одна* не отрабатывает на
какой-то относительно свежей Ubuntu в виртуалке. Команды, присутствующие
в статьях, отсутствуют местами. Как установить bcc пакет (или что-то
такое) я не нашёл, но каким-то образом поставил snap-нечто. Какие-то в
статьях сплошные скрипты на Python... понятия не имею откуда взявшиеся
(точнее они когда-то в каких-то версиях пакетов присутствовали). В
общем, беря по абзацу из самых разнообразных статей, даже из
русскоязычных, я смог получить список проб и одну какую-то после запуска
программы я даже смог увидеть. В FreeBSD/Solaris всё это вопрос пары
минут, а в популярнейшем дистрибутиве GNU/Linux популярнейшая модная и в
тренде eBPF тема заняла у меня наверное полдня чтобы просто получить
хоть одну пробу. Даже забавно: название некоторых вещей должно совпадать
с названием исполняемого файла. В Github проектах это всё фиксят, но...
блин, дистрибутив свежайщий, но в нём придётся делать переименование
исполняемого файла чтобы получить работоспособные пробы!? Как же я
ненавижу всю эту экосистему! Это чистейшая Windows/macOS по своему
качеству и дружелюбности к разработчику. Всё через задницу, всё сделано
на коленке, ничего нет отточенного, просто работающего, просто достойно
сделанного. В общем, убедившись что пробу как-то да можно получить --
выключил виртуалку и считаю что если кому надо, то в моей Си библиотеке
он сможет это получить. USDT код будет работать везде.
Зато продолжает без устали и останова радовать redo. Как с ним легко всё
это встраивать, переключать "хочу DTrace-able библиотеку или нет",
каждый .o файл post-processing-овать dtrace-ом (оказалось не нужно,
бесполезно, но проще было сделать и проверить) через default цели и всё
подобное. dtrace -G делает вообще не очень приятную штуку: он буквально
in-place редактирует объектные файлы, что, с точки зрения redo, выглядит
как изменение уже выполненных целей без участия/учёта самой redo системы.
Кажется что добавляется геморрой. Но нет -- оно просто вынуждает
написать сборку так, чтобы всё было атомарно, пускай и через копирование
файлов во всякие временные директории. redo хорошо дисциплинирует и
показывает огрехи подходов!
FreeBSD сливает данные об установленных приложениях?
https://lists.freebsd.org/pipermail/freebsd-security/2021-April/010390.html
https://forums.freebsd.org/threads/toplist-freebsd-usage-per-1m-inhabitants.79669/
... если FreeBSD не прекратит поддерживать слежку за пользователями, то:
If this does not get fixed in short time, I will contact ArsTechnica,
TheRegister and some other reputed IT news outlets, to create public
pressure to get the issue resolved.
[...]
I will PR this, so the reaction of the FreeBSD Foundation will be
publicly documented and can be put to widespread discussion by the
IT media, if the Foundation does not deem necessary to remedy this
problem.
What about contacting ArsTechnica?
They did an excellent report on WireGuard.
Maybe they should also report on BSDstats, so that the pros and cons
of its behaviour can be discussed in the larger public?
Какой-то мудак поставил third-party ПО, которое само себе предназначено
для сбора и отправки статистики и он не доволен что это ПО собирает и
отправляет статистику. Почему мудак? А причём тут FreeBSD? Потому что
оно есть в портах? С таким подходом я бы выпилил оттуда и Chrome,
Firefox и кучу другого говнища, где "телеметрии" для better user
experience тьмища.
Да и вообще что это за угрозы такие нынче пошли? На этом Западе теперь
нет ничего страшнее чем общественная буча и бурление говн на новостных
сайтах? Там люди теперь могут что-то менять и делать только через
доносы, ябедничество, стукачество, ложь, клеветничество и прочее
недостойное жалкое поведение?
А ведь буквально вчера я с одним немцем дискутировал по поводу культуры
общения, модерации и подобного. За 2f73ba80a3a9bdb22fb61f2262db14437fe4cbfc
шутку (ну и ещё одну ранее) чувака забанили. "Общаться" у них можно
только выдавая как робот сухие факты, но не вздумай шутить, а то
обязательно заденешь чьи-то чувства и тебя будут "отменять".
https://rubenerd.com/we-dont-always-need-to-extract-maximum-value/
Солидарен со статьёй. У автора какое-то там предложение бесплатное, а он
отказывается, и на него непонятливо смотрят, ведь оно же бесплатное! И
да, по жизни замечал что у многих голова просто не в состоянии осознать
тот факт, что человек может отказаться от бесплатных или более выгодных
вещей.
Пару лет назад покупал маме смартфон в подарок и мне предложили скидку
(от магазина/сети что ли?) на 1000руб., а мне всего лишь надо заполнить
анкету где только номер телефона что ли. Я отказался, раз номер телефона
надо оставлять. Вот тогда достал меня продавец своим удивлением, мол
что, я "просто так" отказываюсь от тысячерублёвой скидки!? Хочешь
скинуть мне цену -- скидывай. А хочешь купить мой, человека покупающего
дорогой смартфон, номер телефона -- так и скажи, а не вешай лапшу на уши.
https://ru.wikipedia.org/wiki/%D0%A1%D1%83%D0%B4%D1%8C%D0%B1%D0%B0_%D1%87%D0%B5%D0%BB%D0%BE%D0%B2%D0%B5%D0%BA%D0%B0
Посмотрел то уже давно, но что-то не отметил его в блоге. Неплохой
фильм. Главное что запомнилось: предателей надо мочить, безжалостно.
Мужская футболка для младенцев с уничтожением детей
http://www.hitkiller.com/kitajskij-metal-merch-muzhskaya-futbolka-dlya-mladencev-s-unichtozheniem-detej-i-drugie-novinki-sezona.html
Да я во всех подобных футболках хожу уже наверное лет десять.
И сама футболка Dying Fetus вроде бы была. Люблю я всю эту тему.
https://forums.freebsd.org/threads/dtrace-shows-invalid-addres-errors-on-12-0-release-on-thinkpad-t480.69193/
К FreeBSD у меня вообще появляются претензии к качеству. Сегодня вот
наткнулся на то, что в 12.0 вообще всё что касается copyin() вызовов D
языка оказываются нерабочими (invalid address), чуть ли не делая DTrace
бесполезным. В последующих релизах это исправлено:
https://svnweb.freebsd.org/base?view=revision&revision=342053
но можно обойти хаком в виде hw.cpu_stdext_disable=0x00100000 настройки,
отключающей SMAP.
https://codecs.multimedia.cx/2021/04/i-feel-old/
Только посмотрел фильм "Полночь в Париже", как вот запись в блоге
человека о том, что у него компьютер (окружение в нём) стал постоянно
говорить что у него всё кругом устарело. Он хотел было обновить свой
Rust, но, оказалось, что даже сайт Rust crates не открывается в его
Firefox (а не более древнем Xombrero как у меня, на WebKit движке).
move fast and break things
Обновление всего и вся -- боль. Особенно когда куча софта пропатчена,
особо сконфигурирована и собрана. Количество софта установленного через
Stow вручную растёт:
% l ~/local/stow W
21
и система глобально не обновлена ещё с 2018-го года вроде бы. Думаю что
на 13.0-13.1 версии FreeBSD я конечно буду производить глобальный
upgrade, но для этого придётся выделить не один день, чтобы ещё и учесть
всё что я изменил в портах.
https://ru.wikipedia.org/wiki/%D0%9F%D0%BE%D0%BB%D0%BD%D0%BE%D1%87%D1%8C_%D0%B2_%D0%9F%D0%B0%D1%80%D0%B8%D0%B6%D0%B5
Простой, наивный, добрый фильм. Скорее очень понравился. Основная идея
мне близка -- сам бывало в полусерьёз задумывался что недоволен своим
текущим временем, считая что вот "тогда то", с моей моралью и интересами
было бы более к месту жить. Но мне и без перемещения во времени, как в
фильме, ясно что всюду и везде бы был недоволен точно так же. Точнее я
бы был другим человеком, как минимум. А жить нужно настоящим.
Мои учётки находятся только у меня на сервере: ты отправил письмо с
сервера на этот же самый сервер?
I setup a malware on the adult vids (porno) web-site and guess what,
you visited this site to have fun (you know what I mean).
Не пользуюсь подобными сайтами, ибо они напичканы проприетарным кодом.
Можно же через torrent-ы скачать HD видео!
While you were watching videos, your internet browser started out
functioning as a RDP (Remote Control) having a keylogger which gave me
accessibility to your screen and web cam.
Мой lynx или xombrero? RDP в Unix? Доступ к экрану и web-камере? Да я и
сам возможно бы был не прочь чтобы броузер у меня смог до них достучаться.
You entered a passwords on the websites you visited...
Кхм, чтобы я, да вводил пароль? Я его через буфер обмена из менеджера
паролей только копирую -- я почти все пароли в глаза то не видел по сути.
I created a double-screen video. 1st part shows the video you were
watching (you've got a good taste haha . . .), and 2nd part shows the
recording of your web cam.
Камера у меня в BIOS отключена и вообще крышка ноутбука закрыта всегда,
поэтому даже если до неё и достучаться, то можно снять только чёрный
пластик корпуса. Но хотя бы вкус хороший, говорят.
Do not try to find and destroy my virus! (All your data is already
uploaded to a remote server)
Вот это сервис, backup уже готов!
I guarantee you that I will not disturb you again after payment, as you
are not my single victim. This is a hacker code of honor.
Я хочу побольше узнать про хакерский "code of honor"! Наверное
грамматика там не приветствуется совсем.
You'll make the payment by Bitcoin (if you do not know this, search
"how to buy bitcoin" in Google).
Блин, но я не использую Google :-(
To track the reading of a message and the actions in it, I use the
facebook pixel.
Эх, жалко мой lynx автоматом не запрашивает картинки в HTML почте и не
дёргает внешние серверы.
Do not try to contact with me
[...]
If you need evidence, reply with "Yes!" and I will certainly send out
your video recording to your 6 contacts.
Так с тобой можно связаться или нет?
Ну и ещё всякое в таком духе. Блин, неужели вот это всё работает? Хотя
раз письма от нигерийских принцев прокатывают...
https://computer.rip/2021-04-03-use-computers-to-store-data.html
Очень понравились размышления в этой статье. Ничего нового, аналогичные
мысли и выводы были и у меня -- просто тут чуть получше по полочкам
разложено.
Я с детства помню кучу журналов компьютерных (сами не покупали, а у
всяких знакомых то там, то тут читал) 90-х годов, где в рекламах
постоянно показывается компьютер как устройство для работы с СУБД и
только. Отчётливо помню что на рекламах подчёркнуто показаны и
домохозяйки в том числе. И больше разнообразие (и это в русскоязычных!)
рабочих станций/серверов не на x86! SQL создавался с подразумеванием что
он должен быть достаточно простым чтобы любая домохозяйки могла в SQL
СУБД вести бюджет семейный и всё такое подобное, не выходя из REPL-а.
А связано было с существенным удешевлением накопителей. Первые
компьютеры обрабатывали больше данных, чем могли хранить. Как и сетевые
подключения стали более ёмкими чем могут обработать компьютеры.
В статье верно отмечают, о чём даже я наслышан, что куча компаний есть у
которых бизнес без проблем крутится на desktop databases созданных и
запрограммированных для их задач ещё с 80-90-х. Все эти решения были для
решения general purpose задач: покупали dBase, Access (который, даже я
помню, штатно входил в Microsoft Office suite) и решали на нём проблему,
без знаний языков программирования.
Но проблема в том, что это покупают один раз и, грубо говоря, навсегда.
Поэтому это сложно монетизировать. Компьютеры были слишком flexible,
слишком general purpose. На данный момент среднестатистический компьютер
стал не более чем:
... platform to deliver "apps," "SAAS," and in general
special-purpose solutions delivered on a subscription model.
Computing is no longer a lofty field engaged in the salvation of
mankind; it is a field of mechanical labor engaged in the conversion
of people into money.
https://docs.oracle.com/en/operating-systems/oracle-linux/dtrace-guide/dt_sdt.html
Userspace statically defined tracing штука из DTrace. Судя по всему
должна без проблем работать и под GNU/Linux, но пока пробую на FreeBSD в
Си коде. В принципе довольно легко, особенно когда не надо использовать
generic макросы типа SDT_PROBE_*. Вот только dtrace -G вызов делает
непотребство: in-place меняет .o файлы, что ломает redo. Приходится
делать промежуточные цели в которых изменённые .o или игнорируются или
перемещаются через временный файл.
Почему то раньше не обращал внимание на -mindepth опцию, которая
позволяет убрать "." путь из выдачи команды. Раньше я часто проверял
путь в цикле и делал continue. Вот только POSIX не знает ни про эту
опцию, но про -maxdepth, который часто в реальных скриптах встречается.
В одной рассылке Столлман заметил, что пускай даже если компания (уже не
помню про какую речь) и выступает против него, отрекается от любых дел с
ним, но при этом она всё равно продвигает СПО и вносит вклад в популяризацию,
то её надо упоминать. Сказал что СПО движение для него важнее, чем защита
от личных нападок и своей репутации. Ну вот и кто из компаний выступающих
против RMS/FSF/СПО способен на такой шаг, кто из людей по их мнению так
же предан идеям?
https://habr.com/ru/company/itelma/blog/550418/
Хорошо заметили что, особенно с соцсетями и всей этой online
информацией, стало модно возмущаться направо и налево. Плюс это
инструмент хороший: всякие политики не делают ничего, кроме как
заставляют возмущаться на своих оппонентов. А толку от того что
люди возмущаются в комментариях нет никакого, кроме порчи
настроения. И ко мне это на все 100% относится, ибо у меня много
hate-tagged записей. Но сам замечал со стороны что люди которые
постоянно всем возмущаются -- буквально слепы вообще к любым
изменениям в лучшую сторону. А есть и другая крайность: когда
человек слепо позитивно обо всём думает.
https://angelov.su/book/osobij-kurer
Очередная (011435e43dae0e92744198c0af30566e06cbc6cc) книга от Орлова.
Снова разные планеты, приключения, разные персонажи, время от времени
пересекающиеся. Обожаю такие истории и юмор этих книг!
https://drewdevault.com/2021/04/02/Go-is-a-great-language.html
Вот всё что он сказал -- я поддерживаю и солидарен. Понравилось
высказывание что Go даёт то что людям *надо*, а не то что они
*хотят*.
https://habr.com/ru/company/itelma/blog/550404/
Сам я Syncthing ни разу не использовал, но в рассылке NNCP о нём очень
хорошо отзываются, мол работает надёжно как часы. В статье в
screenshot-ах показан процесс установки Dropbox/iCloud и Syncthing. В
общем случае, просто скачать бинарь и его запустить -- по моему тоже
жопа, с точки зрения безопасности. Но тут речь про простоту работы и
удобство. Раньше обычно говорили что проприетарное закрытое ПО популярно
из-за простоты, мол "они" всё сделают и решать за тебя сами. А в статье
показано что это совсем не так и всё только для шпионажа и рекламы.
* Some minor math equations need to be solved. But it should help
protect data for our southern most users.
* This will future-proof ZFS against Earth's expected
magnetic-pole-reversal
* SMR disks untested
* Looking for testers at the extreme poles
* Using dst testing might violate GPL
Motivation and Context
ZFS needs to take into effect F = d/dt * (mv) and possibly
Eötvös effect.
How Has This Been Tested?
Extensive testing. To simulate southern hemisphere disk arrays
were held by the Testing&Integrity Team Members and "spun really
fast" in the opposite direction.
chrisrd commented Apr 1, 2021
Please make this configurable on a per-disk basis: we
specifically use right-spinning disks right now, but we'd like
to gradually replace them with left-spinners if possible as the
right-spinners use more power due to the negative coriolis
effect down here.
bghira commented Apr 1, 2021
the test failures are caused by not taking into account that the
disks can be mounted vertically. in the test failures, the disk
is told to move left but this is actually 'down' and the right
rotation should be mapped to 'up' and reverse this for mounting
in opposing direction.
adamdmoss commented Apr 1, 2021
FWIW I gave this a spin; didn't notice any difference in my
casual testing, but I should note that my disk array sits
precisely on the equator.
debdrup commented Apr 1, 2021
Please make this configurable on a per-disk basis: [...]
Another use for per-disk configuration is if you've got one disk
in Australia and another in Denmark.
https://www.opennet.ru/opennews/art.shtml?num=54877
В TUHS рассылке заметили что если попробовать прочитать название
"Xinuos" наоборот, то будет похоже на "sue nix".
https://www.linux.org.ru/news/redhat/16242938
Разумно, поддерживаю. RedHat со своим systemd уже давно стал Windows
системой. А их борьба против движения свободного ПО только больше
доказывает что Стиву там будет в самый раз.
https://www.oshogbo.vexillium.org/blog/62/
Даже не знал что можно выставлять флаги в GPT партициях и что загрузчик
BSD использует BOOTME, BOOTONCE, BOOTFAILED.
https://www.cyberciti.biz/interview/interview-with-abhinav-upadhyay-netbsd-contributor-and-machine-learning-software-developer/
NetBSD для меня это такая штука, о пользователях которой почти ничего не
известно. FreeBSD или OpenBSD пользователей полно. А тут вот интервью. И
в космосе даже использовалась. Лично я вижу вариант того чтобы
попробовать, если что, использовать эту систему, раз там и ZFS есть.
OpenBSD больше не рассматриваю как вариант для general purpose system
вообще (46011b1a8570ff15604228cf82dd6424d3d5d252).
Ценнейший совет у автора в жизни был чтение книги "Advanced Programming
in The Unix Environment" by Richard Stevens. Я относительно недавно
познакомился с этой книгой и поддерживаю всеми руками этот совет. Мне
она понадобилась чтобы понять почему же у меня setuid исполняемый файл
не работал как ожидается. С этой книгой как-то ушёл страх понимания и
программирования Си кода.
https://people.kernel.org/monsieuricon/subspace-mailing-list-server
Интересно почитать было про их устройство почтовой рассылки. Тоже mlmmj
используют. И замечают что если не менять тело и имеющиеся заголовки, то
и DKIM не будет ломаться. В итоге я DKIM с DMARC у себя тоже включил
(2c6d32988f772f53438892a2ee523db85f79f7f0).
The upcoming release of Go 1.17 (due in September) will include GIL
for Go, As the Pythonistas among us know, GIL is Python’s Global
Interpreter Lock, which has been included in even the earliest
versions of Python, but is missing from Go until now. This has been
a constant source of complaints from python programmers
transitioning to the world of Go. With the addition of the Global
Interpreter Lock into Go’s runtime scheduler, Go will finally reach
feature parity with Python on this important feature. The
introduction of the GIL and the implicit serialisation of all
Goroutines will eliminate a whole range of possible race conditions
and synchronisation bugs.
The inventor of the Python language Guido tweeted that after a two
decades it is great to see Go finally catching up in this key area.
He expressed his hope that Go will soon introduce Subinterpreters,
which provide a simple, elegant and intuitive solution to the
problem of achieving concurrency.
In a related announcement the Go team also announced that future
versions of Go will introduce Type Annotations, and get rid of the
pesky squiggly braces, and instead transition to indentation based
blocks.
Sergey Matveev [Tue, 30 Mar 2021 04:53:33 +0000 (07:53 +0300)]
Уволилась потому что взяли за секс-ориентацию
https://lenta.ru/news/2021/03/30/diversity/
Их не берут на работу из-за ориентации -- скандалят.
Их берут из-за ориентации -- скандалят.
Не обращают внимание на ориентацию -- тоже скандалят.
Уволят за дело -- будут скандалить потому-что из-за ориентации.
Не уволят за дело -- будут скандалить потому-что из-за ориентации.
Пидоры одним словом.
Sergey Matveev [Mon, 29 Mar 2021 18:41:37 +0000 (21:41 +0300)]
Doom 3, Quake 4 и M.A.X.
https://en.wikipedia.org/wiki/Mechanized_Assault_%26_Exploration
В день покупки прошлого ноутбука я до рассвета, всю ночь, проиграл в
Doom3. Ибо на том ThinkPad-е был видеоаккселератор уже достаточной
мощности для запуска этой игрушки хотя бы в 640x480. Правда уровень в
трубах и комбинезоне у меня показывался в мизерном окошке в десятки
пикселей на десятки пикселей -- я включал god mode и наобум пытался
дойти до "выхода". Addon-ы/продолжения Doom3 шли до момента когда в них
не появлялись какие прозрачные монстры. FPS падал до ~0.5, монстров не
видно, но видно что кто-то меня атакует. Я только по screenshot-ам из
Интернета понимал что именно они должны были там быть.
Quake 4 на том ноутбуке у меня уже не запустился. Падал с ошибкой о том,
что чего-то в OpenGL не хватало. Видимо того же, что и в addon-ах к Doom.
А на выходных вспомнил что у меня же сейчас обновлённый ноутбук с ещё
более мощным железом. Попробовал запустить Q4 -- с отличным FPS без
проблем запускается (тоже правда в 640x480 на минимальных настройках, но
с достаточным FPS). Поиграл в него несколько часов, а дальше понял что
надоело. Просто совсем вот дальше нет желания продолжать! И тут меня
посетила мысль о том что, возможно, я совсем уже вырос из FPS игрушек и
даже старые добрые тупые стрелялки уже обрыгли.
Но нет, ибо на глаза попалась в директории игрушка M.A.X. Чуть было
прочитав про неё, проглядев руководство прилагаемое, попробовал в неё
впервые с детства поиграть. В детстве я у родственника на компьютере
пробовал в неё поиграть. Запомнилась только тем, что это была самая мне
непонятная и сложная стратегия. Сложная в плане управления -- я вообще
ничего не понимал что да как и почему. В десятках других тыкаешь вот
так: происходит вот то то. А в M.A.X. что-то творится, но полная
чертовщина неожиданная для меня.
Сейчас вижу что всё там логично и нормально. Просто она действительно
сложнее. Возможность пошаговой игры, куча микроменеджмента, сплошная
тактика -- вот всего этого я прям хочу! Бегать, прыгать, стрелять в FPS
-- не хочу. А пошагово с микроменеджментом (который, говорят, выпили в
M.A.X.2) прям с удовольствием. Но я только часть totorial миссий прошёл
и думаю что засяду за игру. По сути мне ведь и FreeCiv нравится
микроменеджментом и пошаговостью. Так что не разлюбил я игры, а просто
другие приоритеты уже.
Sergey Matveev [Mon, 29 Mar 2021 13:29:33 +0000 (16:29 +0300)]
Agnete Kjølsrud -- трушнейшая вокалистка
https://en.wikipedia.org/wiki/Agnete_Kj%C3%B8lsrud
Сегодня заценил единственный полноформатный альбом Djerv группы. Очень
нравится её вокал! Слышал на альбомах Solefald. Мельком знаком с
альтернативнометаллическим Animal Alpha. Оказывается засветилась и у
Dimmu Borgir. Прежде вокалистки были только в симфометале, не считая
какого-нибудь Arch Enemy, не любого мне с ними.
Sergey Matveev [Mon, 29 Mar 2021 09:18:56 +0000 (12:18 +0300)]
noglob префикс
Понравилась идея прописывать noglob в начале команды, чтобы не
приходилось экранировать всякие звёздочки. noglob find . -name *.exe
будет работать без проблем. Не уверен касательно эффективности набора,
но есть чувство что noglob набирается быстрее и легче, чем морока с
экранированием.
Sergey Matveev [Mon, 29 Mar 2021 07:33:01 +0000 (10:33 +0300)]
Поп-хиты от Lars Nedland
http://www.hitkiller.com/lars-lazare-nedland-solefald-borknagar-desyat-pop-pesen-kotorye-budut-blizki-blekaryam.html
Попсовые песни которые бы мог порекомендовать член Solefald группы для
поклонников black-metal. Есть интересные вещи. Хотя Kanye West я не могу
понять и не чувствую ничего в его песнях. После этих трэков я переслушал
всю дискографию Solefald -- гениальнейшая необычнейшая группа.
Sergey Matveev [Sun, 28 Mar 2021 12:01:04 +0000 (15:01 +0300)]
histogram алгоритм для diff
https://link.springer.com/content/pdf/10.1007/s10664-019-09772-z.pdf
https://vimways.org/2018/the-power-of-diff/
https://stackoverflow.com/questions/4045017/what-is-git-diff-patience-for
В git и vim можно явно указать алгоритм для генерирования diff-а. В git
я это использовал давно (diff.algorithm), но patience вместо histogram,
который вроде как ещё получше вывод делает для исходного кода.
В vim за это отвечает diffopt опция, в которой ещё и indent-heuristic
может принести пользу.
Sergey Matveev [Sun, 28 Mar 2021 11:01:42 +0000 (14:01 +0300)]
Подсветка git diff
https://veronneau.org/a-better-git-diff.html
https://joelclermont.com/post/2021-02/better-diff-highlighting-in-git/
https://dev.to/cloudx/how-to-color-the-moved-code-in-git-10ei
В составе git-а есть contrib/diff-highlight, который можно отдельно
руками собрать и поставить. После первого же вызова git log -p я понял
что оставляю его.
А diff.colorMoved позволяет подсвечивать перенесённый код.
Ещё не понял есть ли от этого толк.
Sergey Matveev [Sun, 28 Mar 2021 08:23:36 +0000 (11:23 +0300)]
Цвет волос
В одном фильме бросили фразу женщине "ты уже и волосы успела перекрасить?".
А я пытаюсь вспомнить действительно ли они у неё были другого цвета (на
самом деле там была другая женщина, их спутали) и какого именно.
Вот в жизни очень очень часто когда женщины пытаюсь спросить про
кого-то кого надо вспомнить, то спрашивают "тёмненькая/светленькая
такая?". Или вообще про стрижку зададут вопрос. И подобные вопросы
исходят и от студенток и от женщин за 40.
Лично для меня, ничего менее идентифицирующего человека нельзя
придумать. В 99% случаев на протяжении всей жизни я понятия не имею
какой был цвет волос у той или иной девушки (или мужчины тем более). С
этой мыслью я пытался вспомнить какой цвет волос у всяких коллег -- и я
в голове могут представить практически любой и все они вроде как вполне
подходят и я не знаю какой в действительности.
Угольно чёрный, белоснежный белый или ярко рыжий я наверное точно
запомню -- эти цвета сильно выделяются и бросаются. Ну и какой-нибудь
синий, как у вокалистки Arch Enemy. Всё остальное -- одна фигня, на
которую не смотришь. Даже смешно когда задают вопросы о цвете волос.
Аналогично касается и причёски. Был случай когда коллега пришла и
спросила, мол, ничего не заметил ли я (точно не помню вопроса). Я
пытаюсь вспомнить что она мне последнего писала в почту, в IM, забыл ли
я чего сделать? Честно отвечаю что не понимаю о чём она. Она задаётся
вопросом не сговорился ли я с другим коллегой? Я *совершенно* не понимаю
о чём речь и в чём подвох. Потом она уже в открытую явно указала на свои
подстриженные волосы. Действительно, только после этого увидел что
причёска ощутимо поменялась. Вот ведь серьёзно: на это не смотришь и не
замечаешь вовсе. Конечно, если побриться налысо или иметь косу до попы
-- это наверное можно будет запомнить.
Но, скорее всего, так устроены далеко не все мужчины, раз даже опытные
замужние женщины продолжают задавать подобные вопросы (иначе бы были в
курсе что это абсолютно не идентифицирующая информация). Возможно
связано с тем что я очкарик с начальной школы. У меня сильно суженный
угол обзора (те, кто впервые надевают контактные линзы, отмечают
насколько расширяется FOV). Даже в очках у меня никогда не 100% зрение
(это вредно), а сейчас и вообще глаза по разному видят. И визуальная
информация (богатство красок и детализация) для меня имеет не шибко
большую ценность. Я и фильмы то спокойно смотрю в ужасном MPEG4
пересжатом качестве на отвратительном дисплее ноутбука.
Зато вот идентифицировать женщин, даже видя их всего один раз, могу с
огромной точностью по их пятой точке (и всему что ниже), если это всё
конечно не прикрыто пальто или чем-то не обтягивающим. Опять же, даже
смешно, но я могу легко вспомнить детали фигуры девушки которую видел
много лет назад один раз на какой-нибудь конференции, но с трудом
вспоминать (нередко и не удаётся) лицо тех, с кем пересекаюсь на работе
чуть ли не каждый день. Это у меня ещё со школы так.
Sergey Matveev [Sat, 27 Mar 2021 16:51:07 +0000 (19:51 +0300)]
Абсолютно незапоминаемый альбом: Liebe Macht Monster
Из недавно появившихся новых альбомов у меня вот есть In Extremo
"Kompass zur Sonne" 2020-го года и Eisbrecher "Liebe Macht Monster" 2021-го.
In Extremo я много раз прослушал и всё не перестаю получать
удовольствие. Упоминаю о нём потому что играет прямо сейчас.
Хотя особо ничего нового по сути у In Extremo там нет.
А вот альбом Eisbrecher-е просто выдающийся своей незапоминаемостью!
Вот я честно раз двадцать его ставил и он доигрывал до конца. И вроде
только пару первых трэков я ещё хоть как-то смогу про себя вспомнить.
Но мне даже смешно то, что ВСЯ остальная часть альбома проигрывается
абсолютно не осаждаясь в голове. Я даже не могу вспомнить хотя бы
сколько примерно трэков на нём. Есть ли там медлячки или на какой "ноте"
он заканчивается. Я его прям специально ставил чтобы оценить. Хотя при
этом и делал что-то по работе или по дому. В итоге я просто не замечал
когда успевали смениться трэки и внезапно заканчивается альбом (мол,
что, уже час прошёл!?).
У меня буквально вообще нет никакой информации и никаких впечатлений о
нём. Не припомню чтобы хоть с каким-то альбомом так было. Плохих,
унылых, однообразных -- полно. Но чтобы как будто ничего и не играло --
ни разу. Сейчас вот поставил -- да, это чисто Eisbrecher, сразу
узнаётся. Средненький годный neue deutsche härte, но сама
однообразность, без отличительных черт.
Причём я довольно давно уже холодно отношусь к Megaherz группе с её
новым frontman-ом -- ибо совсем перестала нравится и музыка и вокал и в
целом какое-то всё бездушное. Eisbrecher, наоборот, всегда нравился, ибо
Александр Вессельский очень крут, по моему, как вокалист и frontman.
Очень круто у них на концерте было в живую! И Megaherz лучшие времена
это альбомы записанные именно с ним!
Sergey Matveev [Sat, 27 Mar 2021 16:47:27 +0000 (19:47 +0300)]
Lilypond и турецкая/арабская музыка
https://lists.libreplanet.org/archive/html/libreplanet-discuss/2021-03/msg00149.html
Lilypond пишут что единственная система которая:
Turkish and Arabic music use microtones not found in the
12-tone-equal-temperament system on which the West is standardized,
and notation is not generally supported by proprietary systems in
the West...
Один профессиональный исполнитель турецкой музыки нанял программистов
чтобы они в Lilypond добавили поддержку всего необходимого.
Sergey Matveev [Sat, 27 Mar 2021 11:53:14 +0000 (14:53 +0300)]
Упростил tmux-fzf
http://www.git.stargrave.org/?p=dotfiles.git;a=commitdiff;h=48338303d760027e62bab963fa11a940bc0d97eb
Не знаю о чём я думал, но так и не понял зачем я наворотил запуск tmux
внутри tmux в для tmux-fzf popup менюшек. Плюс обменивался через tmux-овые
буферы обмена. Существенно упростил эти скрипты. А вообще начал в них
глядеть и править чтобы добавить экранирование имён файлов. А то файлы с
пробелами в именах плохо обрабатывались.
Не то чтобы сильно часто, но всё же не проходит и дня чтобы я не
использовал меню fzf выбора файла через find и особенно часто выбор
файла под управлением git-а (git-files).
Sergey Matveev [Sat, 27 Mar 2021 07:56:53 +0000 (10:56 +0300)]
Зачем смотреть сериалы, когда можно следить за WireGuard в FreeBSD!
https://www.opennet.ru/opennews/art.shtml?num=54843
Я только частично видел часть этой истории, поверхность. Но не знал про
всё что особенно в конце статьи изобилует. Прям сценарий к сериалу.
Sergey Matveev [Fri, 26 Mar 2021 15:39:52 +0000 (18:39 +0300)]
Прочитал "Тени войны" Алекса Орлова
https://fantlab.ru/work21420
Ещё одна (936ef1c9010ac893b39e9be91e33a5422f5ea705) книга Орлова,
которая открывает серию. Тоже понравилась. Приёмы и подходы автора уже
знакомы из предыдущей книги, но всё равно интересные и местами забавные
приключения.
Sergey Matveev [Fri, 26 Mar 2021 14:52:32 +0000 (17:52 +0300)]
(вроде) Понял почему не хотят видеть RMS представителем FSF
https://lists.libreplanet.org/archive/html/libreplanet-discuss/2021-03/msg00079.html
Вот с этим письмом я вроде понял почему RMS не нравится людям как
представитель FSF. Человек пишет что был на одном его выступлении, где
заметил что его презентовали как лидера open source. RMS проклял всё,
думал вообще стоит ли ему выступать. А автор ушёл мол, не любо ему такое
поведение.
А я убеждён что именно так RMS и должен себя вести. Я поддерживаю. Вот
что ему делать когда его презентуют как представителя (лидера!)
*совершенно* полностью абсолютно другого движения? Если это какое-то
мимолётное интервью, то одно дело -- но его конференции и выступления кк
бы заранее готовятся. Очевидно что делают списки выступающих
какие-нибудь девочки, понятия не имеющие что они пишут, поэтому
спрашивают своих мальчиков помощников, которые тоже не в теме и для них
все эти бородачи вроде связаны с "linux", а значит пускай девочки пишут
"open source" -- одна фигня мол, не windows же. По моему это полное
неуважение к выступающему. И как не *полное* неуважение и
наплевательскую подготовку реагировать?
По моему это аналогично тому, что любого Фрица представлять как нациста.
Любого блэк-металиста как сатаниста или, скорее, вообще любого
металиста, а того гляди и рокера, сразу к сатанистам тоже причислять.
Да, многие Фрицы прежде были нацистами. Да, многие блэк-металисты
являются и сатанистами. Но всем разумным людям очевидно что это два
несвязанных множества людей. Когда тебя, выступающего, презентуют как
сатаниста, но на самом деле ты пришёл говорить о музыке, то...
действительно стоит подумать а вообще нужно ли выступление, ведь люди
пришли послушать про сатанизм, а тут ты начнёшь впаривать про гитарные
риффы. Твоя вина? Нет. Но ничего доброго сказать организаторам, которые
откровенно из-за лени и раздолбайства обманули и слушателей и
выступающих, не захочется. Если я где то бы выступал на тему
"программирования под unix-системы" и меня презентовали как "разработчик
linux систем", то... это не повод отказываться от выступления, ибо
GNU/Linux с натяжкой но всё же относится к Unix-ам. А вот если я для
Unix-разрабов хочу рассказать про разработку именно под FreeBSD, то меня
нельзя презентовать как "(какой-то yet another) linux разраб" (ведь
везде где буковки в тёмном терминале, это линуксы же). А open source,
насколько понимаю, для большинства людей это на самом деле "бесплатный
софт".
Так вот какого поведения от "лидера FSF" ожидают авторы подобных писем?
Лыбиться как какой-то очередной пустобрех sales manager, смеясь делать
замечание что мы не open source, но да ладно? 99% не видят разницы между
"бесплатным" ПО и FOSS-ом. 99% из оставшегося 1% не видят разницы между
open source и free software движением. 99% этим людям абсолютно пофиг на
эту разницу и на самом деле им или бесплатное или любое open source
действительно нужно. Так зачем они лезут в free software movement? Нужен
OSS -- ну и суйся в OSS-related движухи. Зачем сувать нос в free software?
RMS из FSF пришёл говорить про free software, но его подставляют и
представляют тем, кем он не является совершенно. Он взбешён, очевидно.
Что ожидают люди от представителя FSF? Похоже что ожидают что он будет
рассказывать про OSS, линуксы и прочую фигню где есть терминальчики?
Именно поэтому я считаю что все эти люди не понимают (и не надо) суть
СПО и нефиг им вообще суваться в это движение. Они хотят решать и
советовать какой нужен представитель, хотя понятия не имеют о чём
движение. Для меня то это не новость и я почти не встречал людей
действительно вовлечённых в СПО. Вот буквально нескольких только знаю,
по пальцам одной руки посчитать. Имею в виду тех, с кем общался в
реальности. Да и в open source проектах считанные промилле кто
действительно именно free software (видно даже по оформлениям проектов,
их документации и подобному).
В общем, мне RMS близок, даже по поведению. Большинству оно не нравится.
Как и я большинству не нравлюсь, тоже наверное похожим подходом к делам
как у RMS. Категоричностью и бескомпромиссностью. RMS то правда много
чего сделал и поэтому ему будут многое прощать, как бы это не нравилось.
Всё это бесит точно так же, когда всякие урюки православнутые суются в
музыку метала и рока. Вот и тут OSS-fans суются в FS. Ну а тема с тем,
что RMS защищал бездоказательные обвинения своего друга -- тут даже
комментировать нечего, как и то, что он говорит про детей, женщин и
прочего. Не со всем согласен, но какое это имеет отношение к СПО?
А я вот хоть ничего и не добился стоящего на поприще свободного ПО, но
от RMS-а получал большую благодарность за (когда-то) распространение
идеологии СПО. Хех, по сути чесал языком, вместо написания кода.
MaxFrame sucks, mostly because they insist it doesn't. Ptffffft.
VMS sucks.
TOPS-10 sucks in 36 bits.
TOPS-20 sucks more.
Solaris sucks, slowly.
SunOS sucks.
MS-DOS doesn't qualify, but sucks.
Ultrix/OSF1/Digital Unix/Whatever-it-is-this-week sucks.
DG/UX sucks.
HP/UX sucks.
Dynix sucks.
Esix sucks.
CTIX sucks.
Coherent sucks.
SCO sucks, expensively.
Xenix also doesn't qualify, but sucks.
Unicos sucks.
MVS sucks.
VM sucks.
CMS sucks.
NOS sucked.
NOS/VE sucks, but less so.
AOS sucks.
AOS/VS sucks.
CP/M sucks.
ComOS sucks in one port and out the other.
IOS uses BGP to know which of its peers sucks the most.
Atari TOS sucks the snow off Mt. Fuji.
QNX sucks in real time.
All Apple OS's really suck.
Magic Cap does not qualify, but sucks, graphically.
Minix sucks.
(Free|Net|Open)BSD[386] suck.
BSDI sucks.
Linux sucks differently every time a kernel is released.
PR1MOS sucks.
Venix EDS sucks (and it runs the 777).
OS/400 sucks, but you don't have access to QSYSLIB/WRKSUKSTS to find out how much.
OS/9 doesn't qualify, but still sucks
but OS/2 sucks.
IRIX sucks.
AmigaDOS sucks.
DomainOS sucks.
GCOS sucks.
MPE sucks.
MPE/ix sucks.
Sinix sucks.
VS sucks Wang.
UnixWare sucks.
Netware doesn't qualify, but sucks.
Windows 3.1x--see dos.
WindowsNT sucks, but not as hard as Windows 3.1
Windows 95 doesn't suck, it blows.
Plan 9 sucks on lots of machines at once.
Oberon is considered harmful, and sucks.
Amoeba sucks, distributedly.
Eunice sucks so bad Larry Wall made special mention of it.
NextStep sucks, but it's pretty.
Nachos sucks, but only students know how.
Mach sucks, but nobody knows how.
Spring sucks in little pieces all over the place.
They all suck.
Except AIX, which sucks raw eggs through a very thin straw.
Sergey Matveev [Thu, 25 Mar 2021 08:24:56 +0000 (11:24 +0300)]
Соцсети по паспорту
https://lenta.ru/news/2021/03/25/pugalka/
Вот кстати и у меня первой же мыслью обо всех этих статьях о том, что
хотят сделать "соцсети по паспорту", является "а сейчас разве де-факто
почти все пользователи соцсетей/IM-ов не регистрируются в них по номеру
сотового телефона, который в преобладающем большинстве случаев уже
прикреплён к паспорту"? Да, можно иметь и SIM-ку анонимную, можно на
другие имена, но это исключения немногочисленные. Де-факто и так уже
ведь все по паспорту. Просто хотят ввести ещё одного OpenID/OAuth-like
провайдера, делов то.
Sergey Matveev [Thu, 25 Mar 2021 07:22:27 +0000 (10:22 +0300)]
Прочитал "Мартина Идена" Джека Лондона
https://ru.wikipedia.org/wiki/%D0%9C%D0%B0%D1%80%D1%82%D0%B8%D0%BD_%D0%98%D0%B4%D0%B5%D0%BD
Очень понравилась книга! Много о чём можно поразмыслить и пока читаешь и
после. Но в целом никаких новых выводов для себя не сделал:
* журналисты -- редиски, и быть журналистом (хорошим) можно только не
имея совести. Редакторы -- аналогично, просто не удавшиеся писатели. Я
так же давно считал и про критиков
* общество в целом смотрит на реакцию и мнение других, подстраиваясь под
mainstream. Да и в целом люди лицемеры
* всякие образованные люди -- вообще совершенно не факт что умны (что
голова варит), что знают больше чем какой-нибудь моряк. У них главным
образом только якобы умные разговоры, а на самом деле пустобрешество.
Прикрываются ширмой из правильного выговора и умных слов
* женщины -- ну с ними всё понятно: сами не знают чего хотят, теряют
голову от качков, занимаются самообманом и лицемерием сплошным. Сам
имел опыт с тем, что женщина может быть с тобой годами, но на самом
деле ничуть не любить тебя, а просто быть с парнем потому что так
надо мол, чтобы не отставать от других
* но везде могут быть и исключения. "В семье не без урода". Бывают и
действительно искренне любящие
Но чаще всего меня главный герой бесил сильно. Постоянно говорит "я
достиг ...", "я наконец-то понял", "я научился большему чем ...", "я
написал хорошо" и всё в таком духе. По моему, так могут говорить только
новички в своём деле: те, кто знает так мало, что не понимает и не видит
настоящих широт того или иного познания и не в состоянии оценить как же
мало они на самом деле знают. И Мартин Иден тоже же новичок в куче дел и
поэтому вправе так говорить. Но вот только говорит то он это уже и после
прочтения тысяч книг, из которых он должен бы был поднабраться мудрости
и перестать считать что он достиг высот, что он всему научился, стал
умнее всех и всё познал. Меня это и по жизни бесит, когда человек
прошедший tutorial по Django/Python/Go/whatever, написав простую CMS-ку,
начинает говорить что я теперь разбираюсь, умею и знаю XXX, хотя это
всего лишь только начало пути настоящего познания. С возрастом/мудростью
и опытом вроде бы люди это должны уже понимать и перестать так
разбрасываться словами.
Собственно Мартин и не смог смириться с тем, что в мире "побеждают" и
правят ни ум, ни сила, ни талант и умения. Да, это так. Его право не
согласиться с таким положением дел и не жить в подобном мире.
А ещё бесят его размышления о том, что "ведь книги он написал X лет
назад же уже, работа была сделана именно тогда". Чертовщина. Работа
сделана когда она сдана -- когда кем-то принята. Написанный черновик это
ещё не выполненная работа -- вот её прём в печатное издание это уже
выполненная. Хотя... тут точно можно было бы поспорить. Я и в ПО считаю
что пока твой проект не начал где-то действительно использоваться на
практике (пускай чисто внутри компании), а не лежать в репозитории
где-то с закрытыми тикетами -- его ценность нулевая. С другой стороны,
ведь это же означает что ценность напрямую зависит от популярности. С
чем я категорически тоже не согласен -- ведь все мы, программисты, знаем
что убер крутые хакерские гениальнейшие и крутейшие вещи де-факто почти
никогда не являются популярными. Всё популярное ПО -- шлак и говно,
грубо говоря (бывают исключения, но в пределах статистической погрешности).
Появляется вопрос: а надо ли вообще прислушиваться к мнению окружающих?
Или вообще не надо? Поговорил с папой на эту тему, но ни к чему не
пришли. Везде сплошные противоречия и я для себя так и не сделал ещё
вывода. Если считать что Мартин Иден написал книгу пост-фактум и поэтому
и пишет объективные оценки что он написал стоящие штуки -- то как бы и
простительно становится.
А это означает что очень хорошая книга, как и Догвилль
(87c6f45f4d084e2b2e5368105d55d9741d3ae8aa) -- рождает массу вопросов, на
которые сложно дать про себя ответ чёткий.
Sergey Matveev [Wed, 24 Mar 2021 11:57:08 +0000 (14:57 +0300)]
Сайт в поддержку RMS на посту FSF
https://rms-support-letter.github.io/
https://www.opennet.ru/opennews/art.shtml?num=54820
В противовес сбору подписей против RMS:
https://rms-open-letter.github.io/
Против RMS: можно отослать свою подпись на email автору. За RMS: можно
сделать только pull-request в Github. Как же это сделать без JS, как на
нём зарегистрироваться? Если я за RMS, то больше вероятность что я за
СПО, за свою безопасность и я запрещаю выполнение недоверенного
закрытого кода на своём компьютере и поэтому Github у меня банально
будет просто неюзабелен. И я не смог найти email автора чтобы ему
отправить нормальный git send-email патч. Идиотизм.
Sergey Matveev [Tue, 23 Mar 2021 03:52:56 +0000 (06:52 +0300)]
Выбили 20K€ за отказ компенсировать стоимость Windows
https://www.linux.org.ru/news/opensource/16222562
Lenovo пожадничала 42€ и её оштрафовали на 20K сверху. Для них то
мелочи, но простому человеку приличные деньги, хотя и тьма потраченного
времени.
Хотя мне и не понравилось что львиная доля пошла в FSFE. Ибо FSFE как
последние лицемеры (53068671b6acc181758b7414e18b5941dd16a5ec) выпилили
любое упоминание RMS у себя в информационных материалах и нагло открыто
врут что FSF создало и определяет термин free software с 1986-го года.
Плюс любят "open source", якобы в нём точно такие же принципы заложены,
что тоже никогда не было правдой. Одним словом, европейцы во всей своей
красе.
Sergey Matveev [Mon, 22 Mar 2021 10:22:42 +0000 (13:22 +0300)]
WWWorst App Store
http://techrights.org/2021/03/18/alexandre-oliva-on-webapps/
Понравилось введение о том, чем сейчас является mainstream часть WWW:
Picture the most abusive app store:
* Programs in it are meant to run on your own computer.
* However, you have to be online to run them.
* Every time you start them, they contact the app store.
* If there is an updated version, it's installed automatically, no
questions asked. You'd rather run the earlier version? Tough.
* If the app store decides you're no longer welcome, the program
won't start any more.
* If the app store servers are offline, or if you are, it won't
start either.
* Programs in this app store must also hold your data in the app
store's servers.
* If the program won't start, you can't get to the data on the
servers any more.
* You may have downloaded backups of your data, but you'd have to
figure out how to decode them without the program.
Sergey Matveev [Mon, 22 Mar 2021 05:29:31 +0000 (08:29 +0300)]
RMS возвращается в совет директоров СПО
https://www.opennet.ru/opennews/art.shtml?num=54805
Хорошая новость! Что там делает этот совет не знаю, но FSF стала
настолько мне не интересной в последнее время, что я даже уже хотел
было отписываться от всех их рассылок.
Ещё Столлман сказал что привился и всем остальным советует.
Sergey Matveev [Sun, 21 Mar 2021 13:53:39 +0000 (16:53 +0300)]
Зазеркалье в Duke Nukem 3D
https://habr.com/ru/post/548152/
Duke Nukem 3D меня маленького жутко впечатлял своим движком! На первом
же уровне ведь этот туалет известный с зеркалом. И коды ведь от Дюка я
знал (DNKROZ), но никогда не пробовал за зеркало с ним зайти.
Sergey Matveev [Sun, 21 Mar 2021 10:13:38 +0000 (13:13 +0300)]
BBC -- Art of Persia
https://docuwiki.net/index.php?title=Art_of_Persia
Начал смотреть BBC документальный фильм про Персию. Судя по введению о
том что будет в фильме -- в большинстве мест я бывал. Очень хорошо
спланирована поездка турагенством иранским. Поездка в Иран для меня
совершенно незабываемая поездка в жизни! Была и остаётся. Говорят, что
во всём ближнем востоке и северной Африке только иранцы сохранили свой
язык и свою культуру.
Любопытный факт: крупнейшая еврейская община в мире, вне Израиля,
находится в Иране, живя там кучу веков без проблем.
Sergey Matveev [Sun, 21 Mar 2021 08:37:52 +0000 (11:37 +0300)]
Женщины в транспорте
Из-за COVID и удалённой работы мало я ездил в транспорте. Сейчас стал
почаще выбираться и я совсем отвык от поведения женщин в транспорте.
Забывается это, а тут, по происшествии времени, бросается в глаза.
В очередной раз (db93974430d43c889f2b2f9a291b0e6d2d9f2a9d) в маршрутке
побесила женщина: "вы будете на следующей выходить?", уже взялась за
ручку чтобы встать, затем села со словами "я вас выпущу". Почти
подъехали к моей остановке, но она даже не думает сдвинуться. И только
после того когда я на повышенных тонах ей повторил вопрос, она
соизволила выпустить меня. Может быть она считает что я должен был на
всю маршрутку орать водителю (ага, понервировав всех окружающих) чтобы
он остановился и только после этого сигнала она бы меня выпустила?
Что-то *совершенно* фундаментально разное творится в головах мужчин и
женщин. Я не понимаю ход мыслей последних. Точнее я пытаюсь найти
логическое объяснение, но его нет нигде.
Кто будет всегда медленно плестись по пешеходным переходам перед
автомобилями ожидающими? Кто будет всегда сидеть не рядом с окном в
маршрутках, не подвинувшись когда больше мест нигде нет? Кто будет еле
еле выходить из дверей метро или только вставать со своего места когда
двери уже открываются? Кто на дорожках шириной в два человека всегда
займёт два места или будет идти по середине, ещё и неспешно? Кто в метро
будет стоять вплотную к дверям или на вытянутой от перил руке, даже
когда половина прохода при этом загорожена и человек не собирается
выходить? В 99% случаев это только женщины так делают.
Единственное что приходит мне в голову почему они так делают: только так
ты будешь вынужден обратиться к ней и что-то попросить соизволить её
сделать. Выходить, обойти, присесть? Во всех этих случаях ты должен её
попросить. Если в полностью забитом транспорте есть одно свободное
место, до которого можно добраться только через сидящую женщину, то её
надо просить об этом (мужчины, когда видят что заходит много людей,
оборачиваются чтобы посмотреть есть ли свободные места и не надо ли им
подвинуться чтобы люди смогли сесть). В моём вопросе "будете на
следующей выходить?" нет просьбы и поэтому он игнорируется. В "выпустите
меня пожалуйста, а то я пропущу свою остановку" есть даже полумольба, на
которую благородно женщина наверное должна откликнутся. Мужчины уважают
окружающих и никого не вынуждают с ними общаться и обращаться с
просьбами, в отличии от женщин.
В общем, по хорошему с ними просто нельзя общаться. Не понимают.
Подходит только повелительный тон, угрозы и повышенные тона. Ну
или либо лебезить перед ними.
Хотя бывают и редкие запоминающиеся ситуации. Вот одна в этом году
случилась в маршрутке: девушка которая стояла (мест не было), попросила
остановить на такой то остановке. Но попросила не перед ней, а через
одну от неё (ехать типа минуты две ещё надо было). Она увидела что
проехали мимо остановки (её только следующей будет) и на водителя с
претензией начала кричать что мол просила же заранее и громко чтобы
остановили. Её гнев, если бы остановку пропустили, можно понять:
следующая будет только через несколько километров пересекая МКАД --
назад пешком дойти не вариант. Водитель спокойно отреагировал что мол ну
не доехали же ещё. Она пригнулась, всмотрелась, поняла что,
действительно, ещё рано. Извинилась с "пожалуйста". И когда выходила ещё
раз повторила извинения.
Ну бывает, ошибаемся. Но то, что женщина извинялась в таком месте при
всех, даже не один раз, меня впечатлило. Среди родных ведь все
нормальные, с точки зрения поведения в общественном транспорте. Но это
ж, получается, какое-то образованное воспитанное меньшинство. А в
остальном женщин воспитывают принцессами, которых надо обо всём просить,
а если не захочешь, то они создадут ситуации вынуждающие тебя это делать.
После измен и расставания с бывшей я для себя сделал вывод: хватить быть
тряпкой, потакающей женщинам и позволять какое-либо неуважение к себе с
их стороны. Один раз позволишь -- это продолжится и дальше, а потом
измены и прочее и ты же будешь виноват, ведь тряпка, поэтому заслужил.
Все эти истории из книг о том, что женщину надо добиваться всеми
способами и силами, не смотря ни на что... годится для женщин другого
воспитания, не современных. Попробовать пригласить *несколько* раз
куда-нибудь сходить стоит, само собой. Но когда видишь что тебе
отказывают под любыми предлогами раз за разом, то, как бы девушка не
нравилась, лучше забыть о ней, ибо никогда не узнаешь (пока тебя не
бросят) делала ли это она чисто формально для галочки, чтобы видеть как
ты её пытаешься добиться или чтобы понять насколько ты готов унижаться,
насколько ты тряпка и как быстро тебя можно потом бросить, когда
подвернётся кто-то более подходящий. Всё нормально будет только с теми,
кого они уважают. А так как воспитаны априори на презрение к мужчинам
(видно по их взгляду высокомерному, который на 90% лиц читается), то
нужно быть очень выдающимся и весомым человеком, дабы заслужить
искреннее внимание у них, а не быть очередным временным ухажёром.
Sergey Matveev [Sun, 21 Mar 2021 08:31:11 +0000 (11:31 +0300)]
Flatpak -- security nightmare
http://flatkill.org/2020/
http://flatkill.org/
Целый домен для сайта о том, что Flatpak это ужас с точки зрения
безопасности. Ну для меня это и сразу было понятно что подобное
использовать можно не рассматривать.
Sergey Matveev [Sun, 21 Mar 2021 07:36:51 +0000 (10:36 +0300)]
FreeBSD и Linux подходы к железу
https://lists.freebsd.org/pipermail/freebsd-questions/2021-March/293472.html
https://lists.freebsd.org/pipermail/freebsd-questions/2021-March/293471.html
https://lists.freebsd.org/pipermail/freebsd-questions/2021-March/293486.html
Огромная нить переросшая в мини OS-holywar "GNU/Linux vs FreeBSD". Всё
началось с того, что у человека проблемы с каким-то USB-контроллером и
он не может установить и работать во FreeBSD из-за него. Бага в трэкере
висит с год и человек очень опечален, вбросив вопрос куда ему переходить
с этой ОС?
Понравились ответы Юрия Гальцева о фундаментальном различии (как мне
видится) в подходах разработки драйверов в Linux и FreeBSD: первые имеют
кучу workaround (читай костылей) чтобы глюкавое железо хоть как-то да
работало. Вторые не занимаются этим. Видел это сам воочию в драйверах
для Intel HDA, которая у меня на ноутбуке не выдаёт звук на внешний jack,
а в Linux вроде бы чуть ли не для конкретной моей модели ноутбука был
какой-то if-чик.
Во всём нужна мера конечно же. В погоне за красотой, правильностью и
чистотой можно просрать все сроки и в итоге ничего работающего не выдать.
А автор нити конечно же не прав, судя по тому что я понял. Его упрёк в
том, что на generic ядре он не может установить систему. А с какой стати
он вообще и откуда взял то, что на generic-е у него должно всё работать?
Даже в Linux я помню уйму раз что приходится где-то ещё собирать
специализированное ядро с особыми драйверами чтобы установить на
какой-то системе. Даже в Windows тебе придётся иметь сторонний компьютер
чтобы скачать драйвера для Ethernet-а/модема/whatever (нужные для того
чтобы скачать драйвера) или иметь компьютер с работающим CD-ROM чтобы на
нём прочитать CD-ROM с драйвером для CD-ROM. Всю жизнь так было. Ещё
помню что при какой-то не совсем стандартной разбивке диска (MBR)
Windows нельзя было поставить, как и удалить этот MBR и пересоздать
заново.
Sergey Matveev [Sat, 20 Mar 2021 10:22:01 +0000 (13:22 +0300)]
Emacs как редактор
В 8d0549962697cfa5711a5ae8c71fa3e24bf5b325 писал про видео с
презентацией Emacs плагина (или как это называется в нём?). Забыл
написать что чуть ли не каждый каждый раз когда я смотрю что-то где есть
Emacs, то обязательно увижу, мягко говоря, очень неэффективное
редактирование текста. В этом посте было комментирование нескольких
строчек в блокнот-режиме: перемещаемся на каждую строчку бегая курсором,
вводя символы комментария. Меня самого удивляет, но это так сильно
коробит и бросается в глаза!
В Vim опытный пользователь, по моему, никогда так не сделает, даже в
мыслях не будет: как минимум он просто "повторит действие" (вставки
символов комментария) нажав ".", если забыть про макросы (фиг уж с ними
ради трёх строчек), визуальное выделение для вставки, ":.+2s#^#//" (лень
считать, но возможно тут большее количество нажатий) и т.д.. А в видео
про eev ведь человек который с середины 90-х годов пользуется Emacs-ом!
И опытный в Emacs коллега с работы вроде бы тоже признаёт что *как
редактор* будет немного похуже Vim. В видеороликах я регулярно это отмечал.
Sergey Matveev [Sat, 20 Mar 2021 09:14:22 +0000 (12:14 +0300)]
Поработал с seccomp
https://en.wikipedia.org/wiki/Seccomp
Решил пощупать какого это жить с seccomp подсистемой и насколько сложно
с ней работать. В принципе ничего сложного (если с libseccomp): просто
как-бы задаётся firewall системных вызовов и (опционально) их аргументов.
Можно одной строкой разрешать хоть делать все read(), либо read в
котором определённый аргумент равен какому-то значению -- чётко
фильтровать и файловые дескрипторы так можно например.
Но в целом очень геморройно, ибо на самом деле ты не знаешь какие вызовы
кто и как будет делать. Seccomp-ed программа будет libc-специфична. Ибо
glibc для waitpid() делает wait4() на самом деле, как и на других
вызовах выполняет не то что написано на экране. PCSC-демон... да откуда
я знаю как конкретно и как именно он работает с сокетами и логами?
Только смотреть исходный код всего этого. Вот и у меня всё свелось к
запуску, падению, смотрению в /var/log/audit.log, поиску информации об
убийстве из-за запрещённого syscall-а, поиск syscall-а по номеру чтобы
понять что надо прописать в seccomp-ed программу. А ведь ещё и
какие-нибудь крайние ситуации особые могут быть, которые всплывут в
самый неожиданный момент.
Гранулярность конечно отличная у него. Но, пишут, что обеспечить
фильтрацию по путям до файлов в нём проблематично. Не пробовал.
Capsicum (793966ed64c5a6884e7f1a3d5491a7be4b3eea5f) фильтрует действия
над файловыми дескрипторами только, которые правда могут не только файлы
представлять. Ну и ограничивает множество syscall-ов тоже. Не такой
"сильный" sandbox, но для своих синтетических задач с ним было гораздо
проще работать. pledge имеет ещё меньшую гранулярность, но с ним ещё
проще. Вот и получается дилемма: либо жутко геморройный и сложный
seccomp но с офигенной управляемостью, либо очень поверхностный pledge,
но который тривиально для большинства программ встраивать. С одной
стороны pledge круче, тем что хоть какой-то sandboxing и ограничения
предоставляет очень просто. С другой стороны seccomp круче, тем что всё
на свете можно зарезать в нём и ограничить. Для себя сделал вывод: всё
зависит от потребностей и архитектуры программы. Что-то на seccomp точно
будет не сложно переводить. Что-то на Capsicum совсем не сложно. Но если
архитектура программы совсем далека от privsep подхода, то будет тоже не
просто с ним. А pledge... лучше чем ничего, но в идеале бы что-нибудь
посерьёзнее.
Негатива от Seccomp особо нет. Кроме того, что он libc-specific будет,
как минимум. Но то что я делал на Capsicum в FreeBSD -- с seccomp-ом я
потратил во много раз больше времени, хотя получил ещё более tight
sandbox. И не потому что я поклонник FreeBSD, но Capsicum мне куда
больше понравился -- на нём хочется продолжать делать и писать privsep
программы. А Seccomp не вызывает желания возвращаться к нему. А вот
OpenBSD в целом не то чтобы расстроила, но я сильно охладел к ней.
Рассматривать как платформу для запуска своего софта я бы не стал, хотя
уважение и симпатия ко многим их подходам у меня большие.
Sergey Matveev [Sat, 20 Mar 2021 08:59:57 +0000 (11:59 +0300)]
Emacs'es eev
https://emacsconf.org/2019/talks/27/
Рассказ и видео об "executable notes" в Emacs. Мир Emacs-а привлекает
что всюду и везде можно программировать (I put a Lisp in your editor, so
you can learn Lisp for your editor, while you write Lisp with your
editor) и состыковывать всё что угодно между собой.
Но польза от eev мне с ходу не столь понятна. Возможность выполнения
однострочных скриптов/команд... а когда надо на несколько строк, то
использовать "\" какие-нибудь? На практике сплошь и рядом длинные
команды могут встречаться и я уже стал ненавидеть когда их записывают в
длиннющие строки, в основном когда хотят засунуть в какой-нибудь
Makefile -- о чём забыл как страшный сон, благодаря redo. У меня много
всяких текстовых заметок тоже было и есть, из которых я выполнял строчки
в shell-е или ещё где-то -- но со временем все они превращались в
нормальные исполняемые скрипты, ибо так удобнее.
Возможность открывать info/man/whatever/grep и прочее всё равно же в eev
делается через явное написание соответствующих функций. Лично я бы делал
это в виде неких URI, которые тоже одним нажатием Enter в Vim можно было
бы открывать -- видя URI, Vim запустит парсер, который уже будет
запускать что угодно, ведь всё равно как и в eev это придётся руками
описывать. По сути то Vim из коробки и так умеет всякие gd/gf и Netrw
понимает кучу всяких URI типа scp://.
Я само собой не пытаюсь сравнивать Vim vs Emacs, а только мне не очень
понятен eev -- не увидел ни одного близкого или возможного для себя
use-case.
Sergey Matveev [Sat, 20 Mar 2021 08:44:49 +0000 (11:44 +0300)]
Поработал с XDR в Си
https://en.wikipedia.org/wiki/External_Data_Representation
Про XDR уже не раз упоминал что он мне нравится как сериализатор.
(Очень) Простой, быстрый. XDR спецификации позволяют делать и union-ы с
массивами. Union -- аналог CHOICE-ов и OPTIONAL полей в ASN.1. В Си и
union и array поддерживаются на уровне удобных функций. Очень
понравилось что довольно тривиально можно одним махом, одним вызовом
распарсить структуру с union-ом и всякими массивами. И сериализовать
назад, точно таким же вызовом -- они все симметричны. Можно и с
файловыми дескрипторами работать напрямую сразу же, как в libnv
(793966ed64c5a6884e7f1a3d5491a7be4b3eea5f).
Вообще я потратил значительно больше времени на разбирательство как с
ним работать. С libnv через 5-10мин всё было сделано. Но libnv это как
JSON -- typeless хранение данных, не столько эффективное. А XDR это
исключительно типизированное представление. ASN.1 -- ни то, ни другое:
что-то можно будет распарить без спецификации, а что-то нет (ANY).
Ещё XDR понравился тем фактом, что в Free/Net/OpenBSD идёт из коробки (в
FreeBSD, как минимум, это в составе libc), как и в glibc тоже штатная
часть, с одинаковым интерфейсом (со времён Sun?). В Python из коробки
есть xdrlib, но которая не умеет автоматом union-ы парсить -- это уже
всё же более высокоуровневая штука: нужно просто самостоятельно писать
код вычитывающий значение enum-а и решающего какой дальше запускать
десериализатор.
Sergey Matveev [Fri, 19 Mar 2021 13:49:10 +0000 (16:49 +0300)]
apply и xe
https://victor-sudakov.dreamwidth.org/517262.html
Вот сколько лет я за Unix-системами, но вообще никогда не слышал об
утилитах apply (написанная аж Робом Пайком для BSD4.2) и xe. Выглядят
интересно. xe написан leah@vuxu.org -- тоже мне известным человеком. И
она даже умеет распараллеливать задачи, как и parallel. Но она совсем
новенькая, относительно apply.
Parallel вряд ли буду пробовать заменять: это Perl скрипт, а Perl у меня
всегда есть. ничего против не имею, много чего полезного умеет, хотя и
редко используемого кроме базового функционала.
Sergey Matveev [Thu, 18 Mar 2021 09:43:57 +0000 (12:43 +0300)]
Прочитал "Застывший огонь" Алекса Орлова
https://www.litprichal.ru/books/421/
Очень понравилась книга! Именно такую фантастику я и люблю: приключения
друг за другом, разные места и планеты. В этой есть и смешные моменты на
которых не сдерживался улыбаться в общественном транспорте. Это мне всё
же куда больше по душе чем космооперы типа недавно прочтённой (но тоже
понравившейся) "Розы и червя" (dde11729261b366a1f02c2d023951b5f43468070).
Sergey Matveev [Thu, 18 Mar 2021 07:39:12 +0000 (10:39 +0300)]
Поставная фотография программиста
https://habrastorage.org/getpro/habr/upload_files/ce3/2c5/b4f/ce32c5b4fed67ccdc9cf083bd29d4e18.png
https://habr.com/ru/news/t/547662/
В первую же секунду как же мне бросается в глаза:
* на левом открыт явно какой-то Nano или что-то подобное детское, где
никто всерьёз не буде работать. Как и уважающий себя администратор
* рука над клавиатурой висит в воздухе, ибо её не положить из-за
смартфона под ней
* на втором мониторе вообще ничего нет и не запущено. Только пришёл на
работу типа?
Sergey Matveev [Wed, 17 Mar 2021 20:27:39 +0000 (23:27 +0300)]
Интерфейс Windows 10
Сегодня на работе мне показали интерфейс Win10. Ставили банальные
задачи: поменять чувствительность мышки, указать разделитель чисел с
дробной частью, настроить сеть.
Вот честно -- я даже представить себе не мог насколько бесстыдно погано
всё сделано в этой версии Windows.
* значки закрытия/сворачивания окна где-то видны, а где-то показываются
только если мышкой навести. Логика не прослеживается
* при нажатии на переходы в другие окна/меню, где-то открываются новые
окна, а где-то всё открывается в текущем окне. Логика поведения не
прослеживается
* никаких указателей о том что мы в подменю, в каком-то подразделе, да и
каком именно
* где-то есть стрелочка назад из менюшек, а где-то нет. Логика не
прослеживалась
* открываемые окна имеют даже разные шрифты и разного размера. Тыкаешься
по менюшкам -- и бац у тебя окно с ощутимо меньшими буковками и
приходится придвигаться чтобы разглядеть
* дойти до пункта с чувствительность мышки было примерно так: какие-то
там настройки -> сопутствующие -> сопутствующие -> сопутствующие
* поиск по какому-нибудь запросу "ip адрес" ничего не выдаёт
* запуск "персонализации" или "параметров" иногда открывается в новом
окне настройки, а иногда заменяет содержимое уже открытого окна
* два монитора? да пофиг что вы открываете все окна на одном -- новые
окна Windows запросто будет открывать на втором мониторе (логика
прослеживается -- сделать как можно более нелогично)
* самое забавное: настройка разделителя числа и чувствительности мышки
открывается в классических Win95 окнах с точно такими же tab-ами
которые я из детства помню. Ощущение (уверенность!) что эти меню с тех
времён не менялись вообще
* где-то таблицы, где-то "плитки", где-то табы... это в порядке вещей
* если есть ниспадающие менюшки, то это кнопочка с очень маленьким
значочком намекающим что на него можно нажать. Размер которого сильно
отличается от окружающих кнопок и я бы даже не понял что это кнопка, а
не разделитель элементов какой-то
* когда открывается окно настройки сетевого интерфейса, то в нём всего
два варианта настройки: DHCP или "ручной" режим. Клёво, то есть
варианта автонастройки IPv6 SLAAC не подразумевается? Если выбрать
ручной режим, то даже названия полей не умещаются в окне и появляется
горизонтальный scrollback. То есть, открывается мизерное окошко выбора
DHCP/manual, и после первого же клика в этом же мизерном окошке
появляется ряд полей, которые невозможно прочитать, ибо они никуда не
влезают и нужно руками изменить размеры окна
* возможно не заметил, но я точно помню что глазами искал настройку MTU
и не нашёл
* стойкое ощущение что вроде бы не было ни одного окна где не появлялись
бы scrollbar-ы и постоянно всюду и везде не влезающие элементы
* у меня *все* ISP, кроме текущего, предоставляли только PPPoE доступ.
Получается, с Win10 я бы не смог их использовать, воткнув их кабель в
свой компьютер?
* видел окна в заголовке которых ничего не было, хотя там чётко можно
1-2 слова прописать чётко говорящих что это за окно
* видел заголовки внутри окон где есть надписи, но они сделаны что-то
типа оттенков какого-то коричневого по какому-то коричневому -- почти
нечитаемо. Явно похоже никто из Microsoft не видел этих окон в живую
* а если там запущен последний Word, то я видел панель с иконками в
самом заголовке окна, потом просто классическое меню (со своими
шрифтами, иконками и цветовой схемой), потом ещё два каких-то
toolbar-а тоже со своими стилями/иконками. Такое ощущение что все эти
4-5 элементов управления делали совершенно разные группы людей, каждая
из которых имеет своё видение интерфейса и между собой они никогда не
связывались чтобы вообще просто посмотреть оно хоть как-то сочетается
или нет
* говорят что в последних версиях Word даже самые самые старые и
привычные комбинации клавиш меняются: теперь Ctrl-S не будет работать
просто так, ибо он стал смотреть на язык и Ctrl-S и Ctrl-Ы это разные
вещи. А ещё говорят что вообще эту горячую клавишу заменили на
какое-то сочетание из трёх клавиш типа Ctrl-Shift-F2. Даже самый
недружелюбный Unix-разработчик будет заботиться об обратной
совместимости, о сохранении поведения или хотя бы preset-ах (legacy и
new-wise-one), вместо того чтобы на пустом месте ломать, говорят, все
горячие клавиши которые использовались не один десяток лет, без
галочки "сделать как делали деды -- я опытный пользователь"
* в проводнике первым делом идут никому не нужные гвоздями прибитые
ссылки, только после которых уже реальные диски компьютера. Нельзя ни
местами поменять, ни удалить. Причём список приличных размеров я точно
на практике оно может и не влезть на экран и придётся всегда scroll-ить
до нужного элемента
В целом я просто не могу описать как меня это всё впечатлило. Когда я
говорил "масдай", "windows отстой" и прочее -- это ни в какое сравнение
с тем что я мог бы сказать сейчас. Win95 выглядит как самая консистентная,
продуманная и вылизанная, с точки зрения интерфейса и удобства, система.
Win10... мне до сих пор сложно поверить что ЭТО действительно не шутка,
что это действительно много много лет оттачиваемый и поставляемый
продукт. Он выглядит как уберсырое поделие сотни людей за один вечер,
которые ни разу не скооперировались и даже не смотрели что у них
выходит. Это АБСОЛЮТНО неюзабельная и интуитивно непонятная и нелогичная
вещь. Я ни за что не смогу поверить в то, что у Microsoft нет
огромнейшего отдела занимающегося изощрённым регрессом UI/UX. Это
невозможно сделать без мощнейших умов которые бы могли придумать такие
некачественные изощрения неюзабельности. Ну а больше всего поражает что
реально пипл это хавает. Unbelievable, impossible, incredible,
mind-blowing, life-changing -- но это факт что люди это используют.
Как же надо себя ненавидеть чтобы соглашаться на яростное самобичевание
такой системой? Современными версиями Word-а (да и наверное любого
компонента Office) -- активно борющихся с людьми которые профессионально
пытаются в нём делать документы? И он даже будет тормозить и не
справляться с объёмами которые могли быть сделаны на каком-нибудь Word 97
на 486-ом компьютере.
Вот что значит не следить за современными тенденциями и вообще тем что
творится с массовыми компьютерами! Я просто ошарашен увиденным, с трудом
веря что это всё не шутка и не победитель соревнования на самый убогий и
кривой интерфейс. Одно дело читать новости о том как всё деградирует. А
другое дело воочию увидеть в течении десяти минут это.
Могло бы быть простительно если бы такое увидеть в GNU/Linux -- там
зоопарк и анархия, каждый разработчик имеет своё мнение, своё видение и
принципы. Но тут то речь об одной из самых богатейших компаний в мире с
огромным штатом людей. Ведь даже в теории, как мне кажется, в принципе
можно было бы насчитать наверное несколько сотен окон настроек суммарно:
в чём проблема их все под одну гребёнку сделать, с одной парадигмой и
подходом? Нанять хотя бы одного тестировщика которые бы прокликивал их и
смотрел можно ли в принципе прочитать что там будет показываться? Ведь
ОС для пользователя не так много позволяет всего сделать. Она же даже со
временем только меньше делает функционала, типа выпиливания менеджера
печати.
Sergey Matveev [Wed, 17 Mar 2021 13:30:25 +0000 (16:30 +0300)]
Концертник Lindemann из Москвы
https://darkside.ru/band/16580/n130022.jpg
https://darkside.ru/news/129970/
И концерт у них, видимо, был отличный (52ab03b596ffd133c7f5c9530606e864ea06d8a1)
и даже обложки с коммунистической тематикой клёвые.
Sergey Matveev [Mon, 15 Mar 2021 19:31:02 +0000 (22:31 +0300)]
Познакомился с Capsicum, kqueue, libnv, privsep и privdrop
https://en.wikipedia.org/wiki/Capsicum_(Unix)
https://en.wikipedia.org/wiki/Kqueue
https://oshogbo.vexillium.org/blog/42/
https://utcc.utoronto.ca/~cks/space/blog/solaris/SolarisNvpairLibrary
Реализовал программу с честным (как мне кажется) полноценным privsep-ом,
когда она fork-ается, разные процессы занимаются разными вещами и имеют
доступ к разным ресурсам. Общаются между собой по Unix-сокету. Умеют
делать chroot, сбрасывать привилегии root-а после этого. Capsicum
включают, в том числе и устанавливая ограничения на каждый файловый
дескриптор выборочно. Закрывают всё лишнее и ненужное (stdin/out/err
всякие).
С Capsicum работать по сути тривиально, но архитектура программы
выстраивается вокруг использования файловых дескрипторов. Благо, в
отличии от уродского Linux, в FreeBSD даже процессы можно представлять в
виде файлов (pdfork()).
Так как системные вызовы типа waitpid() уже нельзя использовать в
Capsicum окружении, то нужно делать pdfork(), чтобы получить файл. В
man-е присутствует pdwait4(), однако его нет в исходном коде, кроме как
с пометками "ещё не реализовано". Подсмотрел как с этим живут
capsicum-изированные программы в самой ОС. Оказалось что просто
используют kqueue. Пришлось впервые и с ним поработать. Думал будет
сложно. Но... под рукой был ровно один только man kqueue и через
считанные минуты я полностью реализовал код и ожидания события когда в
Unix сокете что-то будет для чтения и когда процесс завершит свою
работу, оповещая об этом через process descriptor файл. Я очень очень
удивлён как просто работать с kqueue и как много он умеет. Можно даже
просто таймер поставить -- что я часто делал в Go языке в select-ах.
А по сокету мне нужно гонять разношёрстные данные. Точнее, не то чтобы
нужно, а хотелось бы. Как вариант можно открыть несколько сокетов и
ошибки и события отправлять по одним, а полезную нагрузку по другим (как
в FTP отдельные TCP соединения для данных и команд). Но попробовал libnv
библиотеку. У меня никогда не возникло бы мысли о том, что
разнотипизированные данные, где могут быть и вложенные словари и
массивы, могут хотя бы в теории быть просты в использовании в Си или Go.
libnv библиотека супер проста! Даже ошибку абсолютно штатно можно
проверять только во время сериализации. Даже в цикле накапливать и
доделывать (append) данные спокойно. Читать всё аналогично просто. Сам
код является схемой. Очень эффективна по использованию памяти: можно
даже брать значения из nv-пар и они сразу же будут очищать из
nv-структур, оставляя заботу о free() на самом пользователе. И добавлять
значения в nv-структуры можно тоже сразу же их очищая. Да я на Go такой
простой работы не встречал наверное нигде. Одно удовольствие работать с
данными в таком виде. Причём она и endianness блюдёт и можно спокойно
сериализовывать всё на диск. И куча типов данных: null, bool, number,
строки, списки вложенных nv структур, файловый дескриптор, бинарь,
массивы bool/number/строк/дескрипторов.
Но корни libnv растут ещё из Sun Microsystems и Solaris. В ZFS nvpairs
используются всюду и везде. libnv это функциональный аналог nvpairs. В
Solaris оно и вне ZFS встречается. Причём реализация Sun сериализует в
XDR формате всё. Который мне уже и так давно нравился, а недавно я
прочувствовал его крутость с 32-х битным выравниваем всего и вся -- это
существенно упрощает работу с ним на системах которым не нравится
невыровненный доступ к памяти. Ну и пускай что bool занимает всё равно
32-бита, но зато какой простой код получается для работы со всем этим!
Бегло поглядел на libnv и там уже не XDR, а что-то своё, без этой
alignment красоты. XDR я на практике ведь в NNCP использую. А nvpairs
сериализованные данные хранятся прямо на диске в ZFS структурах и без
всякой схемы можно выводить их содержимое.
Дальше всё аналогичное я хочу проделать в экосистеме GNU/Linux. Мне
кажется это будет настоящий ад. Seccomp вроде бы мне достаточен в его
strict режиме. Например после входа в Capsicum в FreeBSD я дополнительно
ограничиваю read/write/kqueue возможности на оставшиеся сокеты -- а в
seccomp strict режиме они сразу же будут только в read/write. Но вопросы
сериализации остаются и... как мне waitpid то там сделать? С ходу не
знаю, если в strict. Плюс kqueue там нет. Буду готовиться к страданиям.
Sergey Matveev [Mon, 15 Mar 2021 11:34:37 +0000 (14:34 +0300)]
Не везёт с ИБП
FSP ИБП недавно вышел из строя. Брал этой компании впервые. Прожил
недолго и отец подтвердил что что-то в электронике -- с аккумулятором
всё хорошо (купил и аккумулятор, чтобы убедиться в этом). Взял в НИКСе
ИБП компании "Импульс". Он в итоге ни на что не реагирует, совсем не
работает. Ездил обменивать на PowerCom, которые чаще всего я и имел дома.
И в очередной раз очень нравится НИКС магазин, в которым я уже больше
десяти лет закупаюсь большей частью всего. Если в других магазинах
возврат денег (когда нет возможности обменять на новую модель -- на
складе если больше нет) может занять уйму времени, то тут прям на месте,
наличкой, заполнив за пару минут заявление по шаблону можно всё получить.
И никаких придирок ни разу не было к возвращаемому товару. Идеальный
магазин в плане обслуживания. Хотя затариваться в нём начал
исключительно из-за огромного выбора комплектующих.
Sergey Matveev [Mon, 15 Mar 2021 11:28:21 +0000 (14:28 +0300)]
Python, Go, C++, C, AWK, Forth, Rust и подсчёт слов
https://benhoyt.com/writings/count-words/
Позлорадствую, но в простой задаче Rust почему то из коробки обосрался
при сравнении с Go. Его оптимизированные версии чуть быстрее, но даже и
Go не сильно медленнее Си. Вот это для меня немного удивительно.
Sergey Matveev [Sun, 14 Mar 2021 18:15:01 +0000 (21:15 +0300)]
awk в zsh
Недавно писал что Perl очень удобные опции умеет для прекрасной замены
awk самого частого используемого функционала: 9ac0b9d604908f72855fe120986a102220dd369f. А ведь разбивать строчку по
whitespace-ам в массив можно и в zsh:
Sergey Matveev [Sun, 14 Mar 2021 06:40:21 +0000 (09:40 +0300)]
Открытки с ASCII art-ом на 8 Марта
https://habr.com/ru/post/546882/
Всего три штучки, но мне всё равно такое нравится. Но оказывается даже в
нашей стране находятся мудаки, считающие что нельзя замечать и говорить
женщинам про красоту, мол это типа непрофессионально. Понравился ответ
автора:
Возможно вы в открытках пишете про уровень английского B2 и
сертификаты по Cisco, чтож, тут остается только посочувствовать
вашим коллегам
Sergey Matveev [Sun, 14 Mar 2021 05:28:39 +0000 (08:28 +0300)]
Заказал воду на свидании? Давай, до свидания
https://lenta.ru/news/2021/03/14/water/
Ещё один способ обосраться перед девушкой, заказав *себе* простую воду.
Я вот ничего алкогольного не пью принципиально, поэтому шампанское, пиво
и всякие коктейли с водкой отпадают. Не люблю вкус кофе -- через силу
могу его выпить, но самостоятельно себе никогда не закажу. А чай я и
дома могу попить. Я себе заказывал или всякие морсы, соки, компоты и
что-то подобное. Квас люблю. Но и в воде проблем не вижу.
Вот думаю, как же я умудрился то несколько лет встречаться с бывшей
девушкой? Но теперь понимаю что просто всё связано с её неопытностью,
молодостью и незнанием критериев оценки мужчин. Все остальные девушки,
кто уже был постарше, максимум соглашались на одно, в крайнем случае два
свидания.
Sergey Matveev [Sun, 14 Mar 2021 05:23:40 +0000 (08:23 +0300)]
The Hitchhiker’s Guide to Online Anonymity
https://anonymousplanet.org/guide.html
Большая подборка всякого связанного с обеспечением анонимности в
компьютерах. Такой полной и актуальной, со всякими заметками что Apple
устройства обожают всё равно широковещательно о себе напоминать даже в
выключенном состоянии, не встречал. Хотя уровень там не поднимается выше
рекомендаций использования Tor. Пользу вижу в оглашении всевозможных
каналов утечки данных.