Игра для мальчишек и дяденек

С огромным удовольствием режусь со старшим сыном в прекрасную игру Scrap Mechanic. Это, как бы сказать, Майнкрафт с инженерным уклоном.

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

Смысл игры в том, чтобы выжить и не умереть с голоду. Точно так же, как и в Майнкрафте, нужно добывать себе еду. Съедобная фауна хоть и существует (и представлена симпатичными коровами), но непроста в приготовлении, поэтому лучше сконцентрироваться на выращивании овощей. В этом тоже есть свои сложности: если засеять сразу слишком большое поле, то набегут роботы и попытаются все посевы уничтожить — на этой планете выращивать еду разрешено только автоматам. Большие поля называются “нелегальными” и ночью к тебе приходит массовка роботов с целью разобраться, чьи в лесу шишки. И чем поле больше, и чем более ценные овощи там выращиваются (например, очень ценны брокколи), тем более крупная и опасная тусовка к тебе заявляется. Поэтому приходится выкручиваться: засевать много маленьких полей или же обильно удобрять поля с целью ускорить созревание овощей, чтобы успеть убрать урожай до прибытия аграрной полиции.

Но самый смак игры — в построении разного рода техники: автомобилей, грузовиков, тягачей, буровых установок, танков для борьбы с роботами, и так далее. Физика в игре сделана очень неплохо, и можно даже построить летающую технику. Но, опять же, из-за неплохой физики управлять ею крайне непросто. У меня ушёл битый час, чтобы сконструировать квадкоптер, на котором я бы не разбивался сразу же после взлёта. И ещё полчаса — чтобы научиться более-менее прилетать туда, куда надо мне, а не куда боги пришлют.

Есть самые разные строительные блоки, из которых можно собрать технику: двигатели бензиновые и электрические, подшипники, поршни, фары, таймеры, трубы самых разных длин и ориентаций, стекла, амортизаторы, шины, оптические сенсоры… Система крафтинга похожа на Майнкрафт: чтобы сделать тот же амортизатор, надо сначала добыть железо, которое можно либо набурить, либо переплавить незадачливого робота, предварительно огретого по кумполу кувалдой. Потом из железа надо сделать сталь, то-есть понадобится уголь. И нужна нефть для гидравлической жидкости. Нефть можно либо накачать в пустыне, либо достать со дна моря.

Но и это ещё не всё. В игре есть пара моментов, которые делают её интересной не только мальчишкам, но и дяденькам с высшим компьютерным образованием. Так, в игре есть логические элементы, что значит, что на их базе можно построить компьютер. Вот, например, я построил двоичный восьмибитный сумматор с последовательным переносом. Складываются числа 163 и 29 (10100011 и 00011101 соответственно). Результат, конечно, 192 (11000000).

Конечно, можно не только складывать, но и вычитать. Разумеется, компьютеры вычитать не умеют. Когда компьютеры вычитают, например, 29 из 163, они складывают 163 и -29. В двоичной системе, чтобы получить отрицательное число, надо все биты перевернуть и добавить единицу. Так что складываем 10100011 и 11100011 и получаем 10000110 (134). Ну, а грозно горящий красным индикатор переполнения игнорируем…

Элементы сумматора — пять логических элементов: два XOR, два AND и один OR. Проще не придумалось.

В-общем, в игре каждый может найти что-то своё, интересное лично ему. Кто-то любит драться с роботами. Кто-то строит огромные мощные седельные тягачи. Другой — автоматизирует выращивание овощей. Ну, а кто-то рисует логические цепи в творческом режиме — точно такой же режим есть в Майнкрафте. В нём нет врагов, и доступны все строительные блоки. Развлекайся как хочешь.

Крайне рекомендую, игра находится в активной разработке (т.н. early access), но уже стоит того, чтобы её купить. Есть на Стиме.

И ещё про Тор

Вот уж интересно. Не успел написать о том, что кто-то активно деанонимизирует пользователей сети Тор, как пришла интересная новость из России: Роскомнадзор начал блокировку ресурсов Тор.

Таких совпадений не бывает, блин. Значит, либо Роскомнадзор пытается защитить россиян от деанонимизации, либо наоборот — это они и занимаются этой самой деанонимизацией.

Запасаемся попкорном. Будет интересно.

Интересное про Тор

Если кто не знает, Тор — это распределённая сеть для обмена данными в сетях Интернет и Onion. Её основой являются прокси-серверы (nodes), через которые пересылаются данные пользователей. Так как данные пересылаются между туевой хучей этих узлов (и при этом шифруются), откуда конкретно пришёл отдельный запрос, выяснить невозможно, что даёт пользователю анонимность.

Изначально её придумали по военному заказу в США, как предполагаю — для создания второго независимого “интернета внутри интернета”, ховать трафик внутри сетей “недружественных стран”. Параллельным эффектом стало создание скрытых вебсайтов .onion (dark web), которые с удовольствием оседлали преступники для нелегальной продажи наркотиков, оружия, проституции, и прочих радостей жизни. Один из таких сайтов — Silk Road — с большой помпой накрыли ФБР и Европол.

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

И, походу, кто-то этим и занимается. В сети Тор обнаружены сотни прокси-серверов, под единым контролем. Их достаточно, чтобы шанс зайти в сеть через один из них составлял 16%, 35% — что твой трафик пойдёт через один из маршрутизаторов, и 5% — что ты выйдешь наружу через один из них.

И версия, что кто-то задонатил эти сотни серверов ради Свободы… как-то сомнительна. Скорее всего, кто-то ловит крупную рыбу. Россия, кстати, входит в тройку стран с наибольшим количеством пользователей сети Тор.

Крайне интересное развитие событий.

Утащено у Шнайера.

Почти всё

Так как одиннадцатая винда фичами пока не радует, попробовал заменить на рабочем компе всё на Убунту 20.04

И оно, знаете, практически взлетело.

Получилось:

1. Прицепить к AD
2. Сделать членов группы Domain Admins частью группы sudoers
3. Запустить авторизацию со смарткартами (вот тут уже пришлось бороду почесать)
4. Включить авторизацию по смарткарте в VDI клиенте VMWare Horizons
5. Аутлук теперь работает как PWA
6. Запустить Teams (благо теперь на Линупсах оно работает нативно)

И всё бы хорошо, но вот драйверы НВидевские отказались ставиться наотруб. Проблема хорошо известна, и не у одного меня она случилась.

Что-то там не взлетело — пробовал разные версии, чего только не делал, даже интеловский драйвер отправлял в бан — нифига. Не работает и всё тут. Лучше всего получилось на драйвере версии 418. Входим в сессию, всё работает примерно минуту, после чего всё наглухо виснет (при этом комп остаётся доступным через ssh). На более поздних версиях не получалось даже этого, всё висло ещё до авторизации.

Железо вполне себе стандартное — ноутбук HP Zbook FireFly G7. Там две видеокарты, по сути, встроенная интеловская, и Квадра Р520. Так и не получилось запустить, хотя победа была очень близко. Но без Нвидии мне ноутбук был не нужен.

Так и бросил. Прошу заметить, что на этот проект я убил часов шесть. А не винде абсолютно, блин, всё из этого списка сразу работает “искоропки”.

Линукс бесплатен только для тех, чьё время ничего не стоит.

Про одиннадцатую винду

Что-то не хочется мне на неё обновляться.

Главная проблема в новой системе виртуализированной безопасности (virtualization-based security, VBS). Она работает, запуская ВСЕ процессы внутри песочницы, обеспечивая доволнительную изоляцию для процессов. Сделано это, типа, как защита от вирусов, чтобы злонамеренные процессы не могли прицепляться к другим процессам.

Ну замечательно, только теперь внутри песочницы запускаются и игры — и в них заметна потеря производительности чуть ли не до 30%.

Логика наличия системы VBS тоже непростая: если ставить её с нуля, то она может быть, а если обновляться с десятки, то нет. И не обязательно так. Отключить её — дело непростое, и не всегда получается. С гарантией это возможно только если обрубить виртуализацию к соответстующей матери в БИОСе, только тогда WSL не будет работать, и прочий ВиртуалБокс.

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

Я всё мечтаю, чтобы они сделали, наконец, панель задач как на Убунте — т.е. панель вертикальная, но пуск снизу. У мелкомягких пуск на вертикальной панели — только сверху. Не так удобно.

В-общем, нахер пока ентот Виндоуз. Нехай починят его сначала, а потом поглядим.

Размер кластера

Интересную вещь обнаружил. Оказывается, максимальный размер кластера NTFS в десятой винде и соответствующей серверной версии (2016+) может составлять аж 2 мегабайта. На седьмой винде максимум был 64 килобайта.

Разумеется, для обычных дисков с операционными системами и программами это не подходит — будет слишком много потерь. Если на диск с таким размером кластера записать файл размером 1 килобайт, на диске он будет занимать таки 2 мегабайта — на оставшееся пустое место в кластере ничего другого записать нельзя. Но если это диск, на котором хранятся базы данных, iso-шки, архивы и прочие крупные файлы — это будет очень круто, так как таблица размещения файлов, в которой записано, в каком кластере (кластерах) записан файл, будет очень маленькой — ведь кластеров будет немного. И потерь будет меньше, и работать будет быстрее.

Кстати, Линупс (вернее даже не Линупс, а файловая система XFS, по умолчанию используемая в Шапке) эту проблему решает более оптимально — на одном диске есть кластеры (блоки) РАЗНОГО размера. Небольшие файлы хранятся в основном используя маленькие кластеры, а большие — с записью на крупные кластеры. И сколько их разных и какое соотношение — тоже настраивается. Это позволяет на одном диске хранить и маленькие файлы и большие, без того, чтобы тратить место либо на пустое место в кластерах, либо на таблицу размещения файлов. Пишут, что на служебную информацию тратится только 0.54% от общего объёма хранимых данных.

Но за всё, к сожалению, надо платить. Например, восстановление данных с повреждённого раздела XFS это очень непростая вещь. Но идея, конечно, классная.

Microsoft Linux

Дожили. Микрософт выкатили свой дистрибутив Линупса. Называется CBL-Mariner. Брать тут:

https://github.com/microsoft/CBL-Mariner

Только вот по кой хер они взяли за основу Шапку, а не Демьяна, непонятно. APT-то покруче будет, чем RPM.

Сделали полный круг, называется. У них уже был в своё время дистрибутив Юникса, назывался Зиникс (SCO Unix, слегка подпиленный).

Касперыча макнули в говно

Это восхитительно. Пакет управления паролями от Касперского в качестве источника энтропии (случайных событий) использовал местное время. В результате чего любой сгенерированный этим говном пароль был неслучайным, и взламывался на счёт “три”.

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

Я не думаю, что на Касперского работают бестолочи. Так что это не дурость, это хуже. Это сделано специально, чтобы в ресурсы, защищённые паролями, сгенерированными этой программой, Кто Надо, мог легко проникнуть.

Источник: https://donjon.ledger.com/kaspersky-password-manager/

Про трёхмерный звук

Предыдущий пост собрал большое количество комментариев. И тема действительно интересная. Как человек, имея только два уха, расположенных на горизонтальной оси, в принципе может отличить, летает ли муха у пола или у потолка. И находится ли она сзади нас или спереди нас. Ведь может? Ну, не с такой точностью, с какой мы можем определить угол направления на источник звука, находящийся спереди нас (в идеальных условиях человек способен на точность определения этого угла с погрешностью в два градуса!!!), но может. Да, плоховато, но способен. Если муха будет тупо летать по окружности, вокруг нашей головы, никаких проблем с опознаванием того, сзади муха или спереди, у нас не возникнет.

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

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

Есть вполне строгие математические формулы, по которым можно рассчитать, как должен меняться звук при смене его расположения. К сожалению, я не нашёл никакой информации на русском языке, но на английском это называется Head-related transfer function (HRTF). Это уже за гранью моего понимания, я дальше матана и статистики с теорвером ничего не изучал. Вот тут я нашёл аж целый небольшой вводный учебничек по данному вопросу, за авторством двух профессоров Мичиганского университета: https://isr.umd.edu/Labs/ISL/BAIL/hrtf_review.pdf. Ну, если кто-нибудь решит всерьёз закопаться.

Компьютерные чипы компании Aureal, которым я пел дифирамбы, занимаются именно этим — обсчётом того, как должен меняться звук, в зависимости от его позиции. Не надо верить мне на слово. Вот добрый человек выложил эти демки на ютуб. Поглядите сами.

Теперь по поводу музыки в этом формате. Уже сведённое стерео, безусловно, невозможно нормально переделать на этот формат. Это надо сводить заново. Я думаю, что берётся изначальная многоканальная запись, к отдельным трекам применяется этот самый HRTF, и вперёд — создаётся этот самый эффект присутствия. В Эппл музыке далеко не все записи являются такими, и там специально выводится индикация того, что ты слушаешь Dolby Atmos, а не обычное стерео.