Pull to refresh
15
0
boris podchezertsev @speakingfish

Системный архитектор

Send message

Находим аномалии в российской статистике COVID-19

Reading time10 min
Views54K

Несмотря на рост заболеваемости covid-19 и горячих споров насчет принимаемых мер, разговоры про достоверность статистики немного поутихли. Кто-то согласен с руководством страны и считает, что с официальными данными все хорошо и они объективно описывают текущую ситуацию. Другие считают, что статистика безбожно врет и показатели, скорее всего, очень сильно занижены.

Последние часто ссылаются на совместное расследование «Медузы», «Медиазоны» и «Холода», которое утверждает, что в реестре Минздрава в 5 раз больше зарегистрированных случаев коронавируса, чем сообщается официально. Само расследование базируется на исследовании Сергея Шпилькина, который ранее с помощью статистических методов доказал фальсификации на выборах. В чем проблема этого исследования?

Читать далее
Total votes 143: ↑125 and ↓18+154
Comments394

Как я сэкономил 5000 долларов дроплетом за 5 баксов

Reading time7 min
Views7.2K

С 20 ноября 2020 года Docker начал ограничивать по количеству передач запросы к его популярному реестру Docker Hub. Это изменение затронуло всех пользователей, анонимных и бесплатных. После внедрения изменения процесс работы разработчиков по всему миру резко затормозил. Для решения проблемы многим просто было достаточно залогиниться (для залогиненных аккаунтов уровень ограничения передачи выше), однако другим потребовалось платить за сервисный аккаунт. При высоких нагрузках сервисные аккаунты могут быть дорогими.

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

Работая в Earthly, я столкнулся с этими ограничениями передачи. Для создания контейнированной сборки приходится подтягивать кучу контейнеров, и делать это часто. За пару часов мы 2-3 раза запускали наш тестовый набор, что приводило к активации ограничения передачи… и с каждым новым тестом ситуация становилась всё хуже. Возможно, это вам знакомо?

Поэтому вместо того, чтобы платить за сервисный аккаунт я настроил Pull-Through Cache, служащий посредником для всех запросов к Docker Hub. После его создания все отказы, вызванные ограничениями передачи, исчезли. Кроме того, это дешевле, чем платить за сервисный аккаунт! Чтобы сэкономить вам время, я задокументировал то, что сделал.
Читать дальше →
Total votes 9: ↑9 and ↓0+9
Comments16

АЛОЭ или Разрушаем иллюзии детства

Reading time9 min
Views62K
После своей хабра-статьи про свинец я еще какое-то время «подергался», разобрал все что связано с ртутью и ее парами и заметил что подписчик мой приуныл. Ни поиски никеля в металлоломе его уже не радуют, ни магний в моторе от Запорожца. Лучший отдых — смена занятий, вот и я решил откатиться к популярной теме опасных растений (так как на улице почти зима — растений комнатных). Чтобы сразу взяться только за актуально растение я выбрал наугад некоторые из своего "черного списка" и предложил читателям проголосовать. В неравной борьбе внезапно с серьезным отрывом победило алоэ. So под катом короткий хабра-пост по мотивам заметки с большущим количеством репостов.

Nota bene: пока дорогой хабра-читатель ты думаешь, зайти ли тебе под кат и подходит ли алоэ под тематику хабра, народ уже выбрал каланхоэ


Блеск и нищета комнатного алоэ
Total votes 87: ↑77 and ↓10+89
Comments60

«Что, если»: Starship

Reading time17 min
Views15K

От переводчика: Думал сделать перевод "продолжения" поста про SLS - SLS: what now?, но в процессе понял, что Кейси там слишком увлекается политикой, who is who в НАСА и как у них отношения с президентом и Конгрессом - в общем, всякие специфичные для американских госагентств штуки, не особо интересные хабравчанам. Но там есть одна очень интересная мысль, так что приведу тут: фрагмент про "Старшип".

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

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

Читать далее
Total votes 33: ↑33 and ↓0+33
Comments122

Рисовалка для атомных орбиталей на Python

Reading time10 min
Views11K

Начался новый учебный год, и преподавателям, студентам и школьникам, возможно, требуется (или просто хочется) посмотреть на то, как выглядят орбитальки, на которых сидят электроны в атомах: все эти завораживающие буковки s, p, d, f, и т.д. Да, картинок полно как в учебниках, так и в Интернете, но покрутить орбитальки на картинке не получится, а картинку из учебника/с левого сайта в презентацию/реферат без мороки с лицензией пихать (по-хорошему) не стоит. Поэтому в этом посте мы разберём одну из возможных реализаций рисовалки для этих самых орбиталек.

Посмотреть код, без регистрации и СМС.
Total votes 34: ↑34 and ↓0+34
Comments11

Тайны Дистанционного Электронного Голосования в России нет

Reading time9 min
Views61K

TL;DR в Российских системах электронного голосования нет достаточного обеспечения тайны голосования, и похоже это сделано специально

Executive summary: В Российских системах Дистанционного Электронного голосования допущена организационная ошибка при постановке задания, позволяющая при использовании побочного канала сбора данных о пользователях (на уровне логов вебсервера) организатору голосования нарушить тайну голосования. Разработчики специально обходят тему наличия и необходимости ликвидации такой уязвимости.

Почему ваш выбор - не тайна
Total votes 162: ↑142 and ↓20+185
Comments372

Самодельный 3D-принтер, печатающий металлом, но что-то пошло не так

Reading time5 min
Views28K
Всем привет, меня зовут Сергей. В этой статье речь пойдёт о 3Д-печати металлом, точнее, о моей попытке реализации 3Д-печати металлом.

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


Total votes 54: ↑53 and ↓1+76
Comments115

Динамическая JIT компиляция С/С++ в LLVM с помощью Clang

Reading time10 min
Views9.5K


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

Из-за этого, я решил не откладывать перевод компилятора на использование LLVM, который планировался когда нибудь в будущем, а решил сделать это уже сейчас. И для этого нужно было научиться запускать компиляцию C++ кода с помощью библиотек Clang, но тут вылезло сразу несколько проблем.

Оказывается, интерфейс Clang меняется от версии к версии и все найденные мной примеры были старыми и не запускались в актуальной версии (Сlang 12), а стабильный C-style интерфейс предназначен для парсинга и анализа исходников и с помощью которого сгенерировать исполняемые файлы не получится*.

Дополнительная проблемой оказалось, что Clang не может анализировать файл из памяти, даже если для этого есть соответствующие классы. Из объяснений выходило, что в экземпляре компилятора проверяется, является ли ввод файлом**.

А теперь публикую результат своих изысканий в виде рабочего примера динамической компиляции С++ кода с последующей его загрузкой и выполнением скомпилированных функций. Исходники адаптированны под актуальную версию Clang 12. Пояснения к коду я перевел и дополнил перед публикацией, а ссылки на исходные материалы приведены в конце статьи.

  • *) Кажется в 14 версии планируется реализовать C интерфейс для генерации исполняемых файлов.
  • **) На самом деле, Clang может (или теперь может) компилировать файлы из оперативной памяти, поэтому в исходники я добавил и эту возможность.
Читать дальше →
Total votes 10: ↑9 and ↓1+14
Comments12

Подборка бесплатных ассетов для разработки игры

Reading time3 min
Views110K

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

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

Ранее на DTF уже выходили подборки ассетов. К примеру, Арсений Мирный опубликовал список полезных ресурсов для поиска ассетов. Есть подборка от Дмитрия Чикалова, который упомянул не только библиотеки, но и полезные медиа-ресурсы. Иван Михайлов в своём внушительном списке программ для разработчиков также рассказал про библиотеки ассетов.

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

Этот материал написан в поддержку нашего инди-джема, в котором ещё можно успеть поучаствовать.

Читать далее
Total votes 14: ↑13 and ↓1+12
Comments7

Что делать, если всё ваше существо противится поставленной задаче

Reading time4 min
Views9.2K
image

Вопрос: Кажется, я борюсь с собой. Это происходило несколько раз и серьезно сказывалось на качестве моей жизни.

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

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

Вы бывали в таких ситуациях? Как вы погружаетесь в работу и делаете это, когда все ваше существо восстает против задачи?

Ответ Джонатана Блоу: Я 42-летний очень успешный программист, который за свою карьеру уже прошел через множество ситуаций, многие из которых сильно демотивировали. И лучший совет, который у меня есть для вас, — прекратить то, что вы делаете. Серьезно. Даже если вам кажется, что вы не в состоянии сделать это, то знайте — вы можете. Это нормально. Вы свободны. Хорошо, вы помогаете стартапу своего друга, но какова соответствующая стоимость этого? Она бы заставила вас сделать это, если бы вы знали, что это растопчет вашу душу (crushing your soul)?
Читать дальше →
Total votes 24: ↑17 and ↓7+11
Comments14

Почему убивают смартфоны в ванне?

Reading time8 min
Views102K

brandName убил россиянку ударом тока. brandName на секунду упал на живот: сына известной блогерши убило током в ванне. Жертв все больше: почему не стоит брать телефон в ванну. Россиянка уронила в ванну телефон и погибла.

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

Читать далее
Total votes 123: ↑120 and ↓3+169
Comments286

Как выглядит производство корпусов Flipper Zero изнутри

Reading time5 min
Views47K

Flipper Zero — проект карманного мультитула для хакеров в формфакторе тамагочи, который мы разрабатываем. Предыдущие посты [1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12],[13]

Сейчас мы активно налаживаем процесс массового производства Flipper Zero на фабриках. Компоненты Флиппера производятся на нескольких заводах: корпус и детали на одном заводе, электроника на другом. Сегодня репортаж с завода, на котором делается корпус.

Есть много способов изготовить пластиковые детали, но единственный способ массово производить качественные детали — это литье в формы под давлением. Сначала может показаться, будто это простой процесс, но на самом нет. Разработка корпуса и всей оснасток не сильно проще разработки электроники. Поэтому дешевые изделия всегда видно по низкому качеству пластика. В этом посте мы расскажем выглядит производство корпуса на фабрике.

Читать далее
Total votes 131: ↑128 and ↓3+173
Comments68

Бабло побеждает, часть 1 «Чудеса существуют»

Reading time4 min
Views19K

Продолжение истории Московского завода полиметаллов: первая статья, вторая статья.

История Московского завода полиметаллов, для автора, началась летом 2018 года, когда появился первый набросок проекта Южная рокада. Тогда никто не предполагал, что ситуация может разворачиваться самым удивительным и непостижимым образом.

Читать далее
Total votes 50: ↑45 and ↓5+59
Comments36

О фейковых криптовалютах (Ethereum, Tron, Ripple и пр)

Reading time10 min
Views308K

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

Это закономерно привело к появлению муляжей криптовалют, которые якобы используют те же технологии, но при этом дают преференции их создателям, т.е. не такие уж децентрализованные. Для пользователей всё равно, а создателям профит. Самый распространённый из таких муляжей - Ethereum.

Читать далее
Total votes 218: ↑193 and ↓25+236
Comments539

Самый важный эксперимент 20 века

Reading time5 min
Views53K
image

Не так давно, мой крошка-сын спросил меня — какой эксперимент я считаю самым важным, из проведенных в 20 веке? Ему это нужно было для школьного реферата.

Меня этот простой вопрос ввел в ступор на несколько часов. Потому что выбор был действительно сложным. С девятнадцатом веком проще — там сразу понятно, что двухщелевой опыт*.

А с двадцатым?

Конечно, если выбирать по значительности — то тут все просто. Это «Тринити» — первое в мире испытание ядерного оружия, произошедшее 16 июля 1945 года. Нисколько не преувеличивая, можно сказать, что после этого испытания мир проснулся другим.

Но, при всей значительности этого эксперимента, он не принес новых знаний. Все и до этого знали, что бомба взорвется. Новых знаний эксперимент не добавил.

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

Рассмотрев Стэндфордский тюремный эксперимент, эксперимент Милгрэма и «Вселенную-25», она же «Крысиный рай», я выбрал эксперимент по выведению дружелюбной лисы советского ученого, академика Дмитрия Беляева.
Читать дальше →
Total votes 137: ↑125 and ↓12+149
Comments370

Java Optional не такой уж очевидный

Reading time9 min
Views19K

NullPointerException - одна из самых раздражающих вещей в Java мире, которую был призван решить Optional. Нельзя сказать, что проблема полностью ушла, но мы сделали большие шаги. Множество популярных библиотек и фреймворков внедрили Optional в свою экосистему. Например, JPA Specification возвращает Optional вместо null.

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

Читать далее
Total votes 12: ↑10 and ↓2+11
Comments33

FizzBuzz по-сениорски

Reading time7 min
Views117K

- Добрый день, я на интервью на позицию старшего разработчика.

- Здравствуйте, давайте начнем с небольшого теста, пока я ваше CV смотрю. Напишите программу, которая выводила бы числа от 1 до, скажем, миллиарда, притом если число кратно трем, то вместо числа выводится Fizz, если кратно пяти, то Buzz, а если и трем, и пяти, то FizzBuzz.

Серьезно, FizzBuzz? Задачка для начальной школы, на сениорскую позицию? Ну ладно.

Читать далее
Total votes 295: ↑288 and ↓7+369
Comments306

Как меня чуть не уволили за выбор React для корпоративного приложения

Reading time8 min
Views58K

Предполагалось, что React облегчит разработку, но он создал препятствия


Летом 2018 года, мой босс, Эдриан, попросил меня присоединиться к его звонку по Skype с Джеймсом, техническим директором крупной канадской компании.

Пока мы узнавали друг друга, я понял, что Джеймс – умный парень с большими амбициями. Его видение заключается в миграции массивного десктопного приложения WPF в облако.

Мне нравится его дружелюбное отношение, и я могу сказать, что он готов сотрудничать с нами. У Джеймса уже есть партнёр по развитию в Индии, но ему не хватает опыта в создании веб-приложений. Казалось бы, что может пойти не так?


Приятного чтения!
Total votes 44: ↑32 and ↓12+31
Comments333

Как «Ревущий Котёнок» с Reddit заработал 28.500% на акциях GameStop: объясняю простым языком

Reading time9 min
Views148K

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

Читать далее
Total votes 184: ↑181 and ↓3+238
Comments369

Information

Rating
Does not participate
Location
Yerevan, Yerevan, Армения
Date of birth
Registered
Activity