s/как всегда/как лучше/

В своей последней записи о приложении умного голосования я – надо признаться – в основном освещал вопрос «кто виноват». Если быть точным: «в чём виноват». К вопросу «что делать» я привёл только пару идей. Чтобы не быть голословным, в этот раз я отвечу на вопрос «что делать» поглубже. Точнее: на вопрос «как сделать». А именно: как «разместить всякие данные [для приложения] на [менее очевидных доменах] Google Docs», чтобы избежать и блокировку передачи данных, и вычисление пользователей приложения. На самом деле команда Навального уже действует по этой схеме на YouTube. Федеральная Служба Балбесов и РосКомПозор видят только, что пользователь что-то смотрит. А что именно: это им не видать как своих ушей.

Для начала надо внести данные – например, имена кандидатов – в Google таблицу. Чтобы приложение на приборах пользователей могло скачивать эту таблицу, необходимо открыть «Настройки Доступа», …

… «Разрешить доступ всем, у кого есть ссылка»…

… и «Копировать ссылку».

Она должна выглядеть примерно так: https://docs.google.com/spreadsheets/d/1o4Gb6-Q0wDCb3CCMnrXogZBagXjBxbXoV7XC9dFn9Jc/edit?usp=sharing

Эта ссылка предназначена для просмотра таблицы в браузере. Чтобы облегчить приложению работать с таблицей, нужно заменить «edit?usp=sharing» на «export?format=csv»: https://docs.google.com/spreadsheets/d/1o4Gb6-Q0wDCb3CCMnrXogZBagXjBxbXoV7XC9dFn9Jc/export?format=csv

При наличии этой ссылки можно смело приступать к разработке приложения. Базовая структура приложения Android от Android Studio вполне достаточна, чтобы на её основе скачивать и отображать Google таблицу.

И правда: концепция не подвела. И DNS, и TLS SNI раскрывают подслушавшему только тот факт, что пользователь смотрит что-то на Google Docs.

А булочку?

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

Но при первом успешном скачивании данных приложение может их сохранить локально и использовать в случае недоступности интернета.

Хитро… но не умно.

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

Как говорится: доверяй, но проверяй. Именно это я и сделал. Для начала я установил упомянутое приложение (но пока не открывал его!) на планшет с Android. Все остальные приложения я закрыл. Чтобы прослушивать планшет, я превратил ноутбук с Linux с помощью hostapd(8), dhcpd(8) и iptables(8) в точку доступа WiFi. Далее я запустил Wireshark на ноутбуке, подключил планшет к упомянутому WiFi и открыл приложение. После того, как я попробовал все его функции, которые не лень, я закрыл приложение и остановил прослушку Wireshark.

Скажу прямо: результаты отрезвляющие. Начнём с того, что приложение с помощью, наверное, самого небезопасного протокола в мире – DNS – запрашивает адрес v202108202145-dot-navalnyapp.appspot.com. Далее приложение соединяется с этим сервером с помощью гораздо более безопасного протокола – TLS. Но при этом всё равно видно имя сервера (v202108202145-dot-navalnyapp.appspot.com), так как используется так называемая Server Name Indication (RFC 6066).

Помимо трёх шестёрок в номере RFC 😉 все сотрудники Федеральной Службы Бездельников, которым не лень надавить на розничных поставщиков интернета, могут себе составить базу IP-адресов сторонников Навального. Тут даже не нужны никакие утечки. А все сотрудники РосКомПозора, у которых в голове не только опилки, берут и блокируют не только само умное голосование (votesmart.appspot.com), а и всё похожие на vГГГГММДДЧЧММ-dot-navalnyapp.appspot.com, в самый неудобный момент. Кстати: приложение без интернета не работает. О поддержке нерезидентов я вообще молчу…

TL;DR: ★☆

Если Вы не готовы брать на себя вышеперечисленные риски, установите VPN. Но тогда Вам не нужно само приложение – страниц-аналогов вполне достаточно.

Кто виноват – понятно. А что делать?

Либо использовать гораздо менее предсказуемые или очевидные домены – например: разместить всякие данные на Google Docs. Либо:

  • Вместо DNS использовать DNS over TLS/HTTPS
  • Не использовать Server Name Indication

«Простите, а Вы точно …?»

Дорогие единомышленники из ядра команды Навального, если честно: я не особо применял к Вам общеизвестную поговорку «доверяй, но проверяй». (Хотя я – как человек, который Вас проплачивает – имел на это полное право.) А зря. Даже без проверок мне уже бросались в глаза те или иные несостыковки.

Но когда я услышал следующее, у меня – как специалиста по информатике – глаза на лоб полезли. Хочу сразу ответить всем на вопрос из заголовка этой записи в мой адрес: да, я точно! Совершенно точно. Но к этому я ещё вернусь позже. Давайте с начала разберёмся, в чём дело. Дело в следующей цитате.

У нас есть закон о доместикации персональных данных. О том, что персональные данные пользователей из России могут обрабатываться только в России. (…) Знаете, кто его нарушает? Google, Apple, … все. Ну, его и невозможно выполнить. (…) все данные в наше время хранятся в облачном хранилище. Ты сам не знаешь, где физически находится сервер, на котором хранятся те или иные данные. Нет у Google’а никакой ни возможности, ни желания, взять именно отдельно данные российских пользователей, вытащить отдельно конкретно на российские сервера. Им надо всю их там технологию, всю инфраструктуру переписывать, переделывать чтобы такое хранение обеспечивать. Нафиг им это надо. И вообще-то с сентября 2015 г. они плюют на этот закон, не выполняют его и вообще-то должны были быть заблокированы.

Леонид Волков на «Навальный LIVЕ», 24.6.21 20:30 МСК

То есть – по мнению Леонида Волкова – в частности:

  • Современное облачное хранилище не предоставляет контроль над физическим местом хранения тех или иных данных
  • Поэтому в свою очередь IT-гиганты просто-напросто не могут выполнить соответствующие требования регуляторов
  • По крайней мере, IT-гигантам пришлось бы приложить очень много труда, чтобы всё-таки выполнить эти требования
  • Самим компаниям не надо это всё, а только регуляторам
  • Поэтому компании по факту действуют à la «если нельзя, но очень хочется, то можно»

Примечание на полях: Волков работал 1998-2004 программистом в «СКБ Контур». Это – на минуточку – гораздо дольше, чем я работаю программистом в «NETWAYS» и «Icinga» вместе (2017-2021).

Разбираем по полочкам

«Нету контроля над местом хранения данных»

Существуют самые разные базы данных. От классического MySQL, который – если вообще распределён на несколько серверов – (обычно) хранит все данные на всех серверах. До более современного CockroachDB, который (при наличии бизнес-лицензии) ясно и чётко разделяет данные по земному шару соответственно настройкам. Ах, у Вас (IT-гигантов) нету денег на бизнес-лицензию? Пожалуйста: YugabyteDB. Ах, Вы не любите концепцию SQL? Недостаточно «web-scale»™? Пожалуйста: MongoDB. Короче говоря: кто ищет, тот всегда найдёт.

«Выполнение этих требований требует много труда»

Всё зависит от базы данных, на которую на данный момент опирается IT-инфраструктура, подлежащая перестройке. Если БД уже поддерживает так называемый «Geo-Partitioning» – как например, вышеперечисленные – поздравляю! Надо только в таблицы добавить по одной колонке (например, «юрисдикция»), настроить тот же Geo-Partitioning на основе новых колонок – и всё!

номеримяюрисдикция
1Александр КлимовEU
2Леонид ВолковEU
3Алексей НавальныйRU

Если сама БД не поддерживает GP, не стоит сразу впадать в депрессию. Может быть, есть другая БД, которая с Вашей нынешней полностью совместима («drop-in replacement»). Например, вместо PostgreSQL (сделаем на минуточку вид, что его поддержка GP неудовлетворительная) можно поставить CockroachDB или YugabyteDB.

«Самим компаниям не надо это всё»

Вы когда-нибудь слышали выражение «из Питера в Москву через Владивосток»? Согласитесь, ехать из Питера в Москву гораздо дешевле и короче, если оставаться в европейской части России. То же самое применимо к цифровому миру. Представьте себе: в международной соцсети переписываются два россиянина (оба резиденты). К сожалению, у соцсети нету серверов в России, а только в США. Или серверы есть и в России, но так получилось, что сообщения хранятся на серверах США. Из-за этого переписка идёт «из Питера в Москву через Вашингтон». Тут даже дело не в геополитике или спецслужбе США, которую в своё время разоблачил Э. Сноуден, а в здравом смысле.

«Поэтому компании просто нарушают»

Поэтому? Потому что ох как трудно перестраивать IT-инфраструктуру? По-моему, это не может быть единственным фактором. Всё-таки Google, Facebook и т. д. в своё время в связи с европейской «GPDR» показали, что они могут, когда хотят. Вернее: когда они понимают, что им иначе и правда достанется от исполнительной власти.

Квалификация автора

Специалист по информатике

  • учился (2014-2017) и работаю (2017-2021) программистом в NETWAYS и Icinga (по сути подразделение группы NETWAYS)
  • опыт в самых разных областях IT, в частности:
  • в 2017 г. германская палата промышленности и торговли («IHK») проэкзаменовала меня и присвоила мне звание «эксперт по компьютерным наукам в области разработки программного обеспечения» («Computer Science Expert, subject area: software development»)

Minecraft Achievement

Спонсор Навального

Я – спонсор YouTube-канала «Навальный LIVE». В рамках этого я перечислял, перечисляю и буду перечислять в его пользу YouTube’у:

датасумма (€)
28.04.202039,99
28.05.202039,99
28.06.202039,99
28.07.202039,99
28.08.202039,99
28.09.202039,99
28.10.202039,99
28.11.202039,99
28.12.202039,99
28.01.202139,99
28.02.202139,99
28.03.202139,99
28.04.202139,99
28.05.202139,99
10.06.202134,97
28.06.202199,99
28.07.202199,99
28.08.202199,99
28.09.202199,99
28.10.202199,99
28.11.202199,99
28.12.202199,99

Minecraft Achievement

Добровольно-принудительный ход конём

К чему будут принуждать

… бюджетников на предстоящих выборах:

Как не дать им

… украсть свой голос:

Как проголосовать против

Договоритесь с единомышленниками по следующей схеме:

Один из Вас

… собирает с остальных паспорта, …

… ставит галочку за ЕР …

… и делает фоточку за маму, фоточку за папу …

А все остальные

«Нашёлся ещё… .de-Навальнёнок!»

Смотрите, какой спонсор Навального! Проживает и работает в Германии и оттуда даёт инструкции Россиянам. И домен блога заканчивается на .de, и сервер стоит в Нюрнберге. Видите? Это – доказательство, что Навальный – это Гитлер!

Эх, пропагандисты, … у Вас уже настолько по сути заела пластинка, что Ваши утверждения просчитать заранее – не особо трудно. С другой стороны, и правда можно остановиться на вопросе: почему .de-, а не условно более патриотичный .ru-домен и сервер соответственно в России? Во-первых, и домен al2klimov.de и сервер уже были у меня для многого другого, и я, так сказать, сэкономил на спичках. Во-вторых, я обращаюсь в первую очередь к нерезидентам – как я, поэтому здесь нет никакого лицемерия. И, наверное, самая важная причина: та же самая, из-за которой, например, navalny.com, milov.org и votesmart.appspot.com не заканчиваются на .ru.

(Пожалуйста, дорогие товарищи по цеху, не ругайте меня, так как я объясняю следующее в первую очередь людям без IT-образования.) Дело в том, что каждый раз, когда Вы посещаете страницу – например, blog.al2klimov.de, Ваша интернет-программа – так называемый браузер – смотрит в телефонной книге – так называемом Domain Name System (DNS) – телефонный номер моего сервера – так называемый IP-адрес. Эта телефонная книга – многоступенчатая. Объясняю на примере условно более патриотичного домена soboll.ru.. Да, именно с точкой на конце – как и все остальные домены. Браузеры, как правило, это скрывают, но, как любит говорить Навальный: здесь говорят правду.


root . ru ru. root->ru de de. root->de soboll soboll.ru. ru->soboll al2klimov al2klimov.de. de->al2klimov blog blog.al2klimov.de. al2klimov->blog

Эту многоступенчатую систему можно представить себе как нынешнюю вертикаль власти в России. Только на самом верху не трусиный король, а 13 серверов, которые отвечают за корень DNS – за ту самую точку в конце каждого домена. Вернее: 1370 серверов, которые стоят за 13-ю разными доменами.

$ dig @9.9.9.9 NS . |\
> grep -vEe ';' -e '^$' |\
> perl -pe 's/\t/  /g' |\
> sort -u
 .      3375  IN  NS  a.root-servers.net.
 .      3375  IN  NS  b.root-servers.net.
 .      3375  IN  NS  c.root-servers.net.
 .      3375  IN  NS  d.root-servers.net.
 .      3375  IN  NS  e.root-servers.net.
 .      3375  IN  NS  f.root-servers.net.
 .      3375  IN  NS  g.root-servers.net.
 .      3375  IN  NS  h.root-servers.net.
 .      3375  IN  NS  i.root-servers.net.
 .      3375  IN  NS  j.root-servers.net.
 .      3375  IN  NS  k.root-servers.net.
 .      3375  IN  NS  l.root-servers.net.
 .      3375  IN  NS  m.root-servers.net.
 $

Кстати: не все они стоят в странах якобы злогадского НАТО. Только за a.root-servers.net стоят в частности один сервер в Японии и один в Гонконге. Браузер – вернее, как правило, поставщик интернет-услуг – сначала спрашивает у одного из этих серверов, кто отвечает за «ru.».

$ dig @a.root-servers.net NS ru. |\
> grep -vEe ';' -e '^$' -e A |\
> perl -pe 's/\t/  /g' |\
> sort -u
 ru.      172800  IN  NS  a.dns.ripn.net.
 ru.      172800  IN  NS  b.dns.ripn.net.
 ru.      172800  IN  NS  d.dns.ripn.net.
 ru.      172800  IN  NS  e.dns.ripn.net.
 ru.      172800  IN  NS  f.dns.ripn.net.
 $

За «ru.» отвечает автономная некоммерческая организация РосНИИРОС , находящаяся в Москве. Дорогие единомышленники, вы что не смеётесь? Не смешно? Не поняли? Это – Россия! Страна, в который некоммерческие организации «автономные» до тех пор, пока к ним не приходят люди в погонах и выпиливают дверь.

После таких мероприятий они уже не автономные, а политзаключённые.

Как Вы думаете: силовики вырубят soboll.ru?

$ dig @a.dns.ripn.net NS soboll.ru. |\
> grep -vEe ';' -e '^$' |\
> perl -pe 's/\t/  /g' |\
> sort -u
 SOBOLL.RU.    345600  IN  NS  dan.ns.cloudflare.com.
 SOBOLL.RU.    345600  IN  NS  isla.ns.cloudflare.com.
$ dig @dan.ns.cloudflare.com A soboll.ru. |\
> grep -vEe ';' -e '^$' |\
> perl -pe 's/\t/  /g' |\
> sort -u
 soboll.ru.    300  IN  A  104.21.89.116
 soboll.ru.    300  IN  A  172.67.158.232
$

Пишите Ваши версии в комментарии!

Палки в колёсах у почтальона Печкина

Представьте себе, что Вы – почтальон и обрабатываете отображенное выше письмо. Что Вы думаете об отправителе? Пожалуйста, поделитесь этими мыслями в комментариях, но только – если они не содержат мат. Мне просто интересно, сколько от них ещё останется после вышеупомянутого условия. Почти что такие же мысли у меня были, когда я последовал следующему призыву Ивана Жданова.

Но цель этой записи: осветить не «кто виноват», а «что делать». Что делать, если ОПГ «Единая Россия» взяла близкого Вам человека в заложники и Вы хотите быть не единственным человеком, который напишет слова поддержки этому политзаключённому.

Хочу сразу оговориться: если учреждение, в котором содержится заключённый, не подключено к системе «ФСИН-Письмо», можете даже не читать дальше. Либо общению с этим конкретным человеком намеренно препятствуют, и поэтому можно даже не стараться – по крайней мере, посторонним людям. Либо к Вашему близкому подсадили Алексея Навального и… ну, Вы же всё понимаете? Либо учреждение особо отсталое – даже по меркам ФСИНа – и вообще не принимает письма заключённым или принимает только в письменном виде. А пока «Почта России» доставит

  1. Подавайте потенциальным авторам писем всё на блюдечке с голубой каёмочкой. Чем меньше препятствий у человека при исполнении необязательного дела, тем вероятнее, что он доведёт это дело до конца.
  2. Представьте себя на месте потенциального автора. Это облегчит Вам предыдущий пункт.
  3. Учтите при этом, что автор – не обязательно технарь, юрист или политик, и делайте скидку. Возможно это просто человек более старшего поколения без высшего образования, который недавно открыл для себя весь нынешний внутриполитический трэш и ад.

Говоря более конкретно:

  1. Предоставляйте ссылку на систему ФСИН-Письмо. Не превышайте навыки интернет-поиска всех людей. Вы сами когда-то ещё не умели есть с ложки.
  2. Предоставляйте все данные заключённого, которые требует анкета ФСИН-Письмо. Сначала сами посетите эту анкету и посмотрите, что именно требуется. Не ожидайте, что авторы всё это сами раскопают на Facebook-е или что эта информация вообще публично доступна.
  3. Сэкономьте им время и тем, как именно Вы выкладываете эти данные. Сделайте так, чтобы авторы смогли просто скопировать данные в анкету и не были вынуждены списывать.

На конкретном примере (см. выше) – если бы Иван Жданов соблюдал вышеизложенное, он бы, наверное, поместил в описание вышеупомянутого ролика следующее:

Напоследок хотел бы также поделится парой примеров, как не делать:

  • Не предоставлять отчество. Когда последний раз даже членов команды Навального в эфире «Навальный LIVE» представляли с ФИО? Кстати, моего отца, например, тоже зовут Александр. Представьте себе, что жулики и воры нас с ним упакуют в один СИЗО. Откуда сотрудникам ФСИН без отчества знать, какому «Александру Климову» адресовано письмо?
  • Предоставлять не год рождения, а возраст. Ну хорошо, 29.3. Юрию Павловичу было 66 лет. И откуда мне знать, родился ли он в 1954 или 1955 году? Если не угадаю правильно – не дай бог сотрудники ФСИН придерутся.
  • Не предоставлять область, а только город. Ну извините, папа у Васи, конечно, силён в математике, но не в географии. И откуда Васе знать, что, например, Армавир находится в Краснодарском крае? Это Вам всё-таки не Хабаровск и не Саратов.

Молчалин – находка для шпиона.

05.04.2021. Мне неожиданно пришло электронное письмо: «Александр, спасибо большое за ваш фидбэк, мы это обсудим!» Всё-таки команда Навального умеет отвечать собеседнику – когда хочет…

Внимательные читатели моей записи про умное голосование за рубежом наверное заметили, как охотно люди, которых я спонсирую, мне вообще отвечают – вернее не отвечают. Мне не ответили даже тогда, когда я предложил «пару сотен €» в качестве помощи. С одной стороны, это достаточно грустно. С другой стороны, это радует тем, что лишний раз доказывает неправоту этой женщины:

Деньги деньгами, а я всё-таки предпочитаю знать, принял ли собеседник моё сообщение к сведению или мне (опять) надо применять «IT-спецсредства», потому что сообщение утонуло в условной «забитой личке». Особенно в этот раз: я наткнулся на важную вещь, которую и хотел сообщить команде Навального. Поэтому я применил «IT-спецсредства» заранее.

user пользователь traefik обратный прокси-сервер «Træfik» user->traefik запрос a2kde HTTP-сервер «nginx» traefik->a2kde если пользователь запрашивает «al2klimov.de» blog блог на основе «WordPress» traefik->blog если пользователь запрашивает «blog.al2klimov.de» logs протокол traefik->logs протоколирует все запросы redir перенаправление «HTTP 307» a2kde->redir если пользователь запрашивает «al2klimov.de /great-future-russia» post запись «Проехали мимо светлого будущего? Можем повторить!» blog->post если пользователь запрашивает «blog.al2klimov.de /?p=209» redir->post ls сборщик протоколов «Logstash» ls->logs собирает es база данных «Elasticsearch» ls->es пишет протокол me товарищ Климов kb поисковик «Kibana» me->kb наблюдает kb->es ищет запросы

Возникает вопрос: а зачем «al2klimov.de/great-future-russia»? Есть же ещё «blog.al2klimov.de/?p=209». Дело в том, что перенаправляющую ссылку я послал только членам команды Навального. Если кто-то её посетит, я это увижу и точно буду знать, что это именно они. Чтобы отслеживать интерес к моей записи более подробно, я встроил в неё несколько строк JavaScript:

<script>
(function() {
    function ping() {
        fetch(new Request("/wp-ping.php")).then(function() {
            setTimeout(ping, 1000);
        })
    }

    ping();
})();
</script>

Эта программа каждую секунду запрашивает «blog.al2klimov.de/wp-ping.php» – пока запись открыта в браузере пользователя. Чем дольше пользователь её читает, тем больше запросов следуют друг за другом.

Оказалось (опять): «поспешишь – людей насмешишь». Мой собеседник взял и написал мне вышеупомянутое электронное письмо. Всё, что я соорудил, не понадобилось – по крайней мере, в этот раз…

Не согласен, Владимир Станиславович!

18.11.2020. Уже пять лет я изучаю разные финансовые инструменты. И наконец-то я наткнулся именно на то, что искал, и заключил договор со страховой компанией. Ура! Моя пенсия спасена! Теперь я ещё спокойнее могу дальше продолжать свою политическую деятельность

Да, Германия – страна для жизни. Но это не значит, что люди катаются как сыр в масле. У каждой страны есть какие-то свои нюансы. Выявление их и приспособление к ним – дело самых эмигрантов. В Германии, например, полиция не применяет насилие к мирным протестующим, в армию никто не забирает и т. д.. Но есть одно но: система пенсионного обеспечения, которая трещит по швам – даже без всяких «пенсионных реформ». Дело в том, что раньше в пенсионном фонде было достаточно денег на всякий случай – например, на случай демографических перемен. Но потом сначала Гитлер потратил часть этих средств на всякие чудовищные затеи, а потом Аденауэр потратил другую часть на восстановление Германии после войны. И его команда уже тогда знала, что это не останется без последствий…

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

Самое главное, чему я научился, это осознание эффекта инфляции. Возьмём для примера 1,5 % инфляции. Не так уж много, если учесть, что европейский центробанк стремится к 2 %. Также предполагаем, что Вы 35 лет будете накапливать пенсию. При условии, что Вы просто кладёте наличные деньги под подушку, к выходу на пенсию покупательная способность Ваших средств упадёт почти на четверть. Проще говоря: от каждый сотни евро под Вашей подушкой останется (по сути) только 76,84 € 77,89 €.


image/svg+xml(11,5÷2100)35×10076,84
image/svg+xmlk=135×12(1+1,5÷100)k÷1235×12÷10077,89

Этот эффект довольно безобидный – по сравнению с так называемыми «денежными реформами», с которыми столкнулись и граждане СССР в январе 1991 года и граждане Германии в августе 1924 года. Также мы сами однажды в начале нулевых пришли в магазин и увидели, что цены те же самые, что были вчера, но в Евро, а не в DM. Это скачок цен в два раза за один день при курсе обмена этих валют 1 € = 2 DM! Я не берусь делать громкие политические прогнозы, но за те же самые условные 35 лет может много чего случится. И я не собираюсь потом кусать локти.

Чтобы потом не пришлось кусать те же самые локти, неплохо было бы знать и различать две категории ценностей:

  • Денежные ценности, которые зависят от денег, подлежат всем вышеперечисленным рискам, например:
    • Наличные деньги, которые кроме всего прочего могут быть украдены.
    • Вклад в банке, который может компенсировать риск эффекта инфляции, а может и нет. Но банк может обанкротиться (например, Lehman Brothers).
    • Государственные облигации, которые несут риск, что заёмщик не вернёт деньги – как СССР наглядно продемонстрировал в 1957 году.
  • Реальные ценности, которые не привязаны к деньгам. За ними стоят реальные вещи, и они просто обходят все вышеперечисленные риски. Зато есть другие риски. Например:
    • Недвижимость, которая по определению… недвижима. Таким способом в первую очередь она попадает в руки государства, если оно решает отобрать и поделить – как в Германии в августе 1952 году. Или как в свободной России будущего – правда только в том случае, если недвижимость куплена на украденные деньги.
    • Драгоценные металлы, которые далеко не такие беззащитные. Но они – как США продемонстрировали в марте 1933 года – не такие иммунные от государственного произвола, как…
    • Акции. Да, предприятие, которым обладает владелец акции, может обанкротиться. Но недаром Андре Костолани советовал покупать акции – а не акцию. Предложим, что рыночная стоимость акций 20 лет подряд растёт на 5 % в год. Даже если при этом 6 из 10 предприятий обанкротятся, остальные четыре компенсируют эти потери. А если обанкротится только пара из 10…

image/svg+xml64×(1+5100)20+6×010,6>4+
image/svg+xml67×(1+5100)20+3×018,6>4+

Как Вы думаете, с помощью каких активов я накапливаю свою пенсию? Пишите Ваши версии в комментарии! И в следующий раз, когда Владимир Милов (который сам признал, что никогда не имел особых сбережений) будет пугать Вас коррекцией или обвалом рынков, покажите ему фондовый рынок США последних 35 лет.

Такой же, но без крыльев? Напечатаем!

02.08.2019. У нас на работе ученики завершили совместный проект и представили результат всем остальным. (Запись в блоге работодателя на немецком.) В этом проекте фигурировал 3D-принтер, который привлёк к себе (конечно) немало внимания, в частности, моего. Я поинтересовался подробностями у парня, который отвечал за этот прибор. Как это? Серьезно? Эта штука печатает любые трёхмерные вещи? И стоит в четыре раза меньше iPhone X (по цене на момент появления этого телефона на рынок)? Мне бы такой прибор на следующий день рождения…

Для 3D-печати нужна в первую очередь 3D-модель, как правило в формате «STL». Либо уже существует 3D-модель нужной вещи на странице типа «Thingiverse», либо надо самому её разработать. В зависимости от конкретной вещи имеет смысл использовать ту или иную программу. Я в свою очередь раньше пользовался программой «Blender» и там (в буквальном смысле) расставлял все точки над i.

К счастью, через некоторое время я наткнулся на программу «OpenSCAD». В ней пользователь не тащит точки туда-сюда, а строит модель с помощью программного языка. Это позволяет параметризовать модель, чтобы при каждом изменении не таскать половину точек влево и вправо.

Все такие программы (как правило) позволяют пользователю экспортировать модель не только в своём собственном формате (.blend, .scad), а ещё как файл .stl. Этот файл надо трансформировать в инструкции для конкретного типа 3D-принтеров (файл .gcode). Я (по рекомендации выше упомянутого коллеги) делаю это с помощью программы «Ultimaker Cura».

Ну а дальше осталось скопировать .gcode-файл на SD-карточку, вставить её в принтер и… поехали!

Это принтер оказался самым полезным подарком вообще. Нужна маленькая полочка с ячейками 5 × 5 × 5 cm? Проще простого. Жёсткий диск не держится в ноутбуке? Пожалуйста. Разбилась крышка от сахарницы? Не надо расстраиваться, разработаю замену. Громкоговоритель стоит не под тем углом? Не смешите мои подковы!

Чтобы никто меня потом не ругал, потому что то или иное глючит, несколько советов:

  • Со стороны выглядит достаточно просто: «вставить [SD-карточку] в принтер и… поехали». На самом деле мне понадобилось некоторое время, чтобы накопить опыт и всё пошло как по маслу. Рассчитывайте на то, что что-то пойдёт не так.
  • Не покупайте такой же принтер как у меня, только потому, что я же знаю, что делаю. Я теперь – после накопления опыта с этим прибором – знаю, что делаю. Если бы я сегодня собрался себе покупать новый принтер, он должен был бы иметь следующие характеристики (сортированы по важности):
    • Подогрев поверхности, на которую принтер печатает, чтобы разница между температурами поверхности и того, что печатается, была минимальная и объект не отклеивался до окончания печати.
    • Автоматическое временное прерывание печати при окончании сырья и возможность возобновления печати.
    • Пространство для печати как минимум 15 × 15 × 15 cm. 10 × 10 × 10 всё-таки немного тесновато.
  • После окончания печати вынимайте сырьё. А то Вам придется чинить свой принтер…