Search
Write a publication
Pull to refresh
17
0
Айван @AivanF

Программный Инженер, Разработчик, Аналитик

Send message

Рубрика «Читаем статьи за вас». Январь — Июнь 2019

Reading time15 min
Views8.9K



Привет, Хабр! Продолжаем публиковать рецензии на научные статьи от членов сообщества Open Data Science из канала #article_essense. Хотите получать их раньше всех — вступайте в сообщество!


Статьи на сегодня:


  1. Neural Ordinary Differential Equations (University of Toronto, 2018)
  2. Semi-Unsupervised Learning with Deep Generative Models: Clustering and Classifying using Ultra-Sparse Labels (University of Oxford, The Alan Turing Institute, London, 2019)
  3. Uncovering and Mitigating Algorithmic Bias through Learned Latent Structure (Massachusetts Institute of Technology, Harvard University, 2019)
  4. Deep reinforcement learning from human preferences (OpenAI, DeepMind, 2017)
  5. Exploring Randomly Wired Neural Networks for Image Recognition (Facebook AI Research, 2019)
  6. Photofeeler-D3: A Neural Network with Voter Modeling for Dating Photo Rating (Photofeeler Inc., 2019)
  7. MixMatch: A Holistic Approach to Semi-Supervised Learning (Google Reasearch, 2019)
  8. Divide and Conquer the Embedding Space for Metric Learning (Heidelberg University, 2019)
Читать дальше →

Как мы переложили управление инфраструктурой на Terraform — и начали жить

Reading time22 min
Views40K
image
У нас было 4 Amazon-аккаунта, 9 VPC и 30 мощнейших девелоперских окружений, стейджей, регрессий — всего более 1000 EC2 instance всех цветов и оттенков. Раз уж начал коллекционировать облачные решения для бизнеса, то надо идти в своем увлечении до конца и продумать, как все это автоматизировать.

Привет! Меня зовут Кирилл Казарин, я работаю инженером в компании DINS. Мы занимаемся разработкой облачных коммуникационных решений для бизнеса. В своей работе мы активно используем Terraform, с помощью которого мы гибко управляем нашей инфраструктурой. Поделюсь опытом работы с этим решением.

Статья длинная, поэтому запаситесь попкорном чаем и вперед!

И еще один нюанс — статья писалась на основе версии 0.11, в свежей 0.12 многое изменилось но основные практики и советы по прежнему актуальны. Вопрос миграции с 0.11 на 0.12 заслуживает отдельной статьи!
Читать дальше →

Миграция с Nginx на Envoy Proxy

Reading time10 min
Views39K

Привет, Хабр! Предлагаю вашему вниманию перевод поста: Миграция с Nginx на Envoy Proxy.


Envoy — это высокопроизводительный распределенный прокси-сервер (написанный на C++), предназначенный для отдельных сервисов и приложений, также это коммуникационная шина и «universal data plane», разработанный для больших микросервисных архитектур «service mesh». При его создании были учтены решения проблем, которые возникали при разработке таких серверов, как NGINX, HAProxy, аппаратных балансировщиков нагрузки и облачных балансировщиков нагрузки. Envoy работает вместе с каждым приложением и абстрагирует сеть, предоставляя общие функции независимо от платформы. Когда весь служебный трафик в инфраструктуре проходит через сетку Envoy, становится легко визуализировать проблемные области с помощью согласованной наблюдаемости, настройки общей производительности и добавления основных функций в определённом месте.


Возможности


  • Архитектура вне процесса: envoy — это автономный, высокопроизводительный сервер занимающий небольшой объем оперативной памяти. Он работает совместно с любым языком приложения или фреймворком.
  • Поддержка http/2 и grpc: envoy имеет первоклассную поддержку http/2 и grpc для входящих и исходящих соединений. Это прозрачный прокси от http/1.1 до http/2.
  • Расширенная балансировка нагрузки: envoy поддерживает расширенные функции балансировки нагрузки, включая автоматические повторные попытки, разрыв цепи, глобальное ограничение скорости, затенение запросов, локальную балансировку нагрузки зоны и т. д.
  • API для управления конфигурацией: envoy предоставляет надежный API для динамического управления своей конфигурацией.
  • Наблюдаемость: глубокая наблюдаемость трафика L7, встроенная поддержка распределенной трассировки и наблюдаемость mongodb, dynamodb и многих других приложений.
Читать дальше →

Как «Матрица» создала пуленепробиваемое наследие

Reading time23 min
Views58K

До выхода этого фильма зрители не видели ничего, подобного этому научно-фантастическому творению Вачовски, и не знали, насколько сильное потрясение их ждёт



Фильму «Матрица» в этом году исполнилось 20 лет

Однажды в 1992 году Лоуренс Мэттис, раскрывая свою почту, обнаружил непрошеное письмо со сценарием от двух неизвестных авторов. Это была тёмная, отвратительная, вызывающе некоммерческая история классовой борьбы и каннибализма – как раз такая история, которую в Голливуде захотело бы рассказать крайне малое количество директоров студий. Однако Мэттис искал именно такое кино.

Всего за несколько лет до этого Мэттис, которому тогда было немногим менее 30, бросил многообещающую юридическую карьеру, и основал компанию по поиску талантов Circle of Confusion, чтобы раскрывать новых авторов и представлять их интересы. Он открыл офис в Нью-Йорке, несмотря на то, что ему постоянно твердили, что больше всего шансов отыскать таланты было в Лос-Анджелесе. И до того, как у него появился этот странный сценарий, Мэттис уже начал сомневаться, не следовало ли ему прислушаться к тем советам. «Я к тому времени продал немножко опционов по $500 каждый, — говорит Мэттис. – Я уже начал задумываться о том, чтобы вернуться в юриспруденцию. А потом я получил письмо от двух этих ребят, с подписью ’Не могли бы вы, пожалуйста, прочесть наше письмо?’»
Читать дальше →

Особенности национального распознавания образов

Reading time4 min
Views34K

«Когда я слышу про распознавание образов, я никогда не спрашиваю, хорошие там алгоритмы или плохие. Я спрашиваю только, отличают ли они мотоцикл от трактора.» ©
Читать дальше →

Что показывает вольтметр, или математика розетки

Reading time7 min
Views127K


О чем эта статья


Сегодня я ненадолго отступлю от своей обычной темы о визуальном программировании контроллеров и обращусь к теме измерений напряжения прямо в ней, в розетке!

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

Скорее всего, это статья будет интересна тем, кто начинает творить свои устройства. Но, возможно, поможет и кому-то опытному освежить память.

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

Кому не интересно читать про интегралы, ГОСТы и фазы — могут сразу переходить к заключению.
Читать дальше →

Как выглядело бы Московское метро в трехмерном мире

Reading time10 min
Views106K
UPD: По просьбам в комментах добавляю ссылку на вращабельную схему на Javascript
К сожалению, код javascript вставить в тело поста не удалось
Добрый день! Недавно я читал блог одного урбаниста, который рассуждал о том, какая должна быть идеальная схема метро.Схему метро можно рисовать исходя из двух принципов:

  • Схема должна быть удобной и простой для запоминания и ориентирования
  • Схема должна соответствовать географии города

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

Достаточно вспомнить, как выглядит схема Московского метро с красивыми кольцами и прямыми линиями:
Читать дальше →

Файл дескриптор в Linux с примерами

Reading time14 min
Views122K
Однажды, на одном интервью меня спросили, что ты будешь делать, если обнаружишь неработающий сервис из-за того, что на диске закончилось место?

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

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

Интервьюер прервал меня на последнем слове, дополнив свой вопрос: «Предположим, что данные нам не нужны, это просто дебаг лог, но приложение не работает из-за того, что не может записать дебаг»?

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

«ну хорошо», сказал я, «если мы не можем перезапускать приложение и данные нам не важны, то мы можем просто очистить этот открытый файл через файл дескриптор, даже если мы его не видим в команде ls на файловой системе».

Интервьюер остался доволен, а я нет.

Тогда я подумал, почему человек, проверяющий мои знания, не копает глубже? А что, если данные все-таки важны? Что если мы не можем перезапускать процесс, и при этом этот процесс пишет на файловую систему в раздел, на котором нет свободного места? Что если мы не можем потерять не только уже записанные данные, но и те данные, что этот процесс пишет или пытается записать?
Читать дальше →

Как уязвимость в Яндекс.Станции вдохновила меня на проект: Музыкальная передача данных

Reading time3 min
Views26K
На прошлой неделе я рассказал, как устроена активация Яндекс.Станции через звук. Оказалось, что пароль от WiFi передаётся в открытом виде. Я размышлял, зачем вообще нужно было делать активацию так, а не каким-то отлаженным способом.

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



Под катом я расскажу, как сделан прототип, и дам ссылку на демку. Вы сможете сами послушать, как звучит любое сообщение :)
Читать дальше →

Невидимая фотография

Reading time4 min
Views73K


О чём речь?


Знакомые часто интересуются: зачем я занимаюсь невидимой фотографией? Инфракрасной, ультрафиолетовой, тепловой. Неужели там есть что-то интересное?

Поскольку лучше один раз увидеть, чем сто раз услышать, то вот вам небольшая демка. С 15-ю предметами. Здесь они в видимом спектре, а дальше мы на них посмотрим в других диапазонах:

[Видимый свет, 400-750 нм. F/6.3, 1/2500 сек, ISO 200, стеклянная 35-мм линза Nikkor. Снято на модифицированный Nikon D90 с удалёнными внутренними ИК/УФ фильтрами через светофильтр видимого света Kolari Vision Hot Mirror UV/IR Cut filter.]
Читать дальше →

Задача о трех горах, неуловимая теория ума и проблема периодизации детского развития

Reading time6 min
Views65K


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

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

Примерно до семи лет испытуемые в этом эксперименте выбирали картинку с тем ракурсом, который видели сами.

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

Откуда взялась эта ошибка?
Читать дальше →

Я мотоцикл покупал, чтобы ездить, а не чтобы падать

Reading time8 min
Views168K


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

Когда лет 10 назад я купил себе первый мотоцикл, любая встреча двухколесных на дороге была целым событием. Последние же несколько лет ситуация изменилась кардинально — пробка из мототехники в междурядье уже каждодневная обыденность. Размышлять на тему, почему это происходит я не буду, а постараюсь просто поделиться опытом «выживания в большом городе» с теми, кто только купил или пока просто задумывается. Вполне возможно, что некоторые вещи будут полезны и любителям электротранспорта.
Читать дальше →

Космики. 7 лет

Reading time5 min
Views17K
Здравствуй, Хабр!

В 2012 году я написал пост о своем увлечении — Космики: моделирование эволюции многоклеточных организмов


С того момента прошло без малого 7 лет, в течение которых я работал над развитием этого проекта. Сегодня я хочу рассказать немного о том, что научился делать, и как планирую развивать проект дальше.
Читать дальше →

Параметризация нейросетью физической модели для решения задачи топологической оптимизации

Reading time10 min
Views13K
Недавно на arXiv.org была загружена статья с не очень интригующим названием "Neural reparameterization improves structural optimization" [arXiv:1909.04240]. Однако оказалось, что авторы, по сути, придумали и описали весьма нетривиальный метод использования нейросети для получения решения задачи структурной/топологической оптимизации физических моделей (хотя и сами авторы говорят, что метод более универсален). Подход очень любопытный, результативный и судя по всему, — совершенно новый (впрочем, за последнее не поручусь, но ни авторы работы, ни сообщество ODS, ни я, аналогов припомнить не смогли), поэтому его может быть полезно знать интересующимся как использованием нейросетей, так и решением разнообразных задач оптимизации.
Читать дальше →

Сложность простоты

Reading time31 min
Views46K


Как я писал в предисловии предыдущей статьи, я нахожусь в поисках языка, в котором я мог бы писать поменьше, а безопасности иметь побольше. Моим основным языком программирования всегда был C#, поэтому я решил попробовать два языка, симметрично отличающиеся от него по шкале сложности, про которые до этого момента приходилось только слышать, а вот писать не довелось: Haskell и Go. Один язык стал известен высказыванием "Avoid success at all costs"*, другой же, по моему скромному мнению, является полной его противоположенностью. В итоге, хотелось понять, что же окажется лучше: умышленная простота или умышленная строгость?


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

Читать дальше →

8 историй о внутреннем Китае. То, что не показывают иностранцам

Reading time12 min
Views148K

Вы ещё не работали с Китаем? Тогда китайцы идут к вам. Они знают, что от них никуда не деться — с планеты не убежишь.


Чжунго — самая развивающаяся страна в мире. Во всех сферах: производство, IT, биотехнологии. В прошлом году Китай показал крупнейший в мире валовый продукт, который составил 18% от мирового ВВП.


Китай давно и прочно стал основным экономическим партнёром нашей страны. Россия продаёт Китаю ресурсы: нефть, газ, лес, металлы, продовольствие. Китай продаёт России высокотехнологичную продукцию: станки, электронные приборы, компьютерную и бытовую технику, настоящие швейцарские часы за 50 долларов, спинеры и прочий AliExpress. В прошлом году товарооборот с Китаем превысил 108 миллиардов долларов — за год вырос на четверть.


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



Старинная китайская гравюра. Дядюшка Ляо на прогулке придумывает iPhone 12 c ТВ-приёмником, пятью sim-картами, десятью камерами, термометром, шокером и пылесосом.


Читать дальше →

Каково разрешение человеческого глаза (или сколько мегапикселей мы видим в каждый отдельный момент времени)

Reading time5 min
Views225K
Очень часто фотографы, а иногда и люди из других специальностей, проявляют интерес к собственному зрению.

Вопрос, казалось бы, простой на первый взгляд… можно погуглить, и всё станет ясно. Но практически все статейки в сети дают либо «космические» числа — вроде 400-600 мегапикселей (Мп), либо это и вовсе какие-то убогие рассуждения.

Поэтому постараюсь кратко, но последовательно, чтобы никто ничего не упустил, раскрыть эту тему.

Начнём с общей структуры зрительной системы


  1. Сетчатка
  2. Зрительный нерв.
  3. Таламус(ЛКТ).
  4. Зрительная кора.



Сетчатка состоит из трёх типов рецепторов: палочки, колбочки, фоторецепторы(ipRGC).
Читать дальше →

Реверс-инжиниринг неизвестного процессора по единственной программе

Reading time11 min
Views14K

TL;DR: мы выполнили обратную разработку программы, написанной для полностью неизвестной архитектуры ЦП без какой-либо документации на ЦП (без эмулятора, без ISA, без всего) всего за десять часов. Из статьи вы узнаете, как нам это удалось…

В прошлые выходные мы с командой CMU PPP поучаствовали Teaser CTF 2019 команды Dragon Sector, чтобы расслабиться и отойти от жёсткого дедлайна CHI 2020. Dragon Sector — это уважаемая польская команда, имеющая историю интересных CTF, поэтому мне было интересно, что у них есть в запасе.

Решив “ummmfpu”, — задачу, в которую входил реверс-инжиниринг байткода для сопроцессора с плавающей запятой Micromega uM-FPU, я решил поучаствовать в соревновании по решению задачи CPU Adventure, которая на тот момент не была решена ни одной из команд (в результате мы оказались единственными, кто справился с заданием).

Вот описание задачи CPU Adventure:

Мой дедушка в 60-х годах занимался разработкой компьютеров. Наводя порядок на его чердаке, я нашёл странную машину. Рядом с машиной лежала стопка перфокарт с пометкой “Dragon Adventure Game”. Спустя какое-то время мне удалось подключить её к современному оборудованию, но игра слишком сложная и я не могу добраться до конца без читерства. Сможете мне помочь? Прилагаю транскрипцию перфокарт, используемых в машине. Утверждается, что машина имеет 4 регистра общего назначения, 1 кибибайт памяти данных и 32 кибибайта памяти команд. Чтобы сыграть в игру, подключитесь к серверу следующим образом: socat tcp4-connect:cpuadventure.hackable.software:1234 fd:0,rawer Подсказка: процессор машины уникален, не пытайтесь гуглить информацию по нему.

game.bin
Читать дальше →

Эволюционирующие клеточные автоматы

Reading time22 min
Views38K


Соединим клеточные автоматы с генетическим алгоритмом и посмотрим, что из этого получится.

В статье присутствуют Gif (трафик!) и контрастные картинки. У эпилептиков может случиться эпилептический припадок.
Читать дальше →

Что скрывается за постоянной Фейгенбаума

Reading time25 min
Views53K

Некролог: Митчелл Фейгенбаум, (1944‑2019), 4.66920160910299067185320382…


Статья из блога Стивена Вольфрама



Она называется постоянная Фейгенбаума и равняется примерно 4,6692016. И она с завидной периодичностью возникает в определённых видах математических – и физических – систем, способных демонстрировать хаотичное поведение.

Митчелл Фейгенбаум, ушедший от нас 30 июня в возрасте 74 лет, был открывшим её человеком – в 1975 году, и сделал это, занимаясь экспериментальной математикой на карманном калькуляторе.

Это открытие стало определяющим в теории хаоса. Но когда её обнаружили впервые, этот результат был неожиданным, причудливым, не связанным ни с чем из того, что изучалось ранее. Однако некоторым образом тот факт, что её открыл именно Митчелл Фейгенбаум – с которым я был знаком почти 40 лет – кажется подобающим.
Читать дальше →

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Registered
Activity