Как стать автором
Обновить
21
0
Александр Ф. Михайлов @chelaxe

Пользователь

Отправить сообщение

Гений 21 века. Чем сейчас занимается Фабрис Беллар

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров56K
Некоторые программисты настолько хорошо известны, что не нуждаются в особом представлении. Наверное, Фабрис Беллар — самая яркая звезда современности. Автор мультимедийного комбайна FFmpeg, эмулятора QEMU и десятков других полезных программ — абсолютный гений и пример программиста 100х, который в одиночку принёс больше пользы миру, чем многие корпорации с сотнями разработчиков. В общем, все знают Фабриса — про него ещё была статья на Хабре двенадцать лет назад…

… Но по просьбам молодых читателей мы решили вернуться к этой теме. Оно и к лучшему, ведь Фабрис многое сделал за это десятилетие, особенно в области нейросетей.
Читать дальше →
Всего голосов 156: ↑153 и ↓3+197
Комментарии49

Ищем значение числа Пи, используя генератор случайных значений

Время на прочтение2 мин
Количество просмотров20K

Представьте, что у вас есть функция random(), которая генерируют случайным образом значения в промежутке [0;1]

Вычислите значение числа \pi

Это задачка с реального собеседования, будем разбираться!

Читать далее
Всего голосов 57: ↑45 и ↓12+47
Комментарии42

Старый DVD-привод превращается… в лазерный микроскоп

Время на прочтение3 мин
Количество просмотров61K


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

Но для ненужного привода есть полезное применение. Например, из него можно смастерить лазерный микроскоп на Arduino (примечание: по факту требуется две лазерные головки, то есть два ненужных привода).

Это оптический микроскоп, который использует для сканирования образца сфокусированный лазерный луч.
Всего голосов 96: ↑92 и ↓4+125
Комментарии19

Изучаем ELK. Часть I — Установка Elasticsearch

Время на прочтение10 мин
Количество просмотров126K

Эта статья является первой в серии статей по стеку Elasticsearch, Logstash, Kibana (ELK). Цикл статей ориентирован на тех, кто только начинает знакомится со стеком ELK, и содержит минимально необходимый набор знаний, чтобы успешно запустить свой первый кластер ELK.

В этой статье будет рассмотрена процедура установки Elasticsearch и конфигурирование кластера.

Читать далее
Всего голосов 12: ↑12 и ↓0+12
Комментарии20

Конвертер аудио / видео файлов FFmpeg

Время на прочтение6 мин
Количество просмотров21K
1 Введение

Каждый пользователь хотя бы раз использовал компьютер для просмотра фильмов или прослушивания музыки. Большинство из Вас знает о существова­нии различных форматов как аудио-, так и видеоинформации. Каждый формат предназначен для своей цели.
Так MP4 удобен для воспроизведения на мобильных устройствах за счет высокой степени сжатия. Файлы формата MKV имеют огромные размеры, но вместе с тем высококачественное видео и звук. Формат AVI даже не самостоя­тельный формат, а оболочка для упаковки медиаданных других форматов. Строго говоря, MKV — это тоже контейнер, основанный на двоичном аналоге языка XML [1]. Это позволяет расширять формат без утери совместимости со старыми программами.
Список можно продолжать долго. Часто возникает необходимость пере­вести, например, фильм из одного формата в другой. Например это может пона­добится для просмотра видео на мобильном телефоне или DVD-плеере, кото­рые не поддерживают воспроизведение исходного формата.
В этом случае Вам пригодится простой, но вместе с тем необычайно мощный инструмент — конвертер FFmpeg.
Читать дальше →
Всего голосов 15: ↑15 и ↓0+15
Комментарии2

Эмуляция троичной системы. Вариант концепции

Время на прочтение4 мин
Количество просмотров15K
1. Пролог

Недавно я прочитал замечательную статью [1]. В ней автор рассказывает о том, что не всегда вычислительные машины были двоичными. На заре компьютерной эры существовали машины, которые использовали десятичную и троичную систему счисления.
Десятичная система удобна человеку, но ее достаточно сложно реализовать на существующей элементной базе. Кроме того, десятичная система подвержена ошибкам в результате искажения сигнала при передаче. Троичную систему реализовать не на много сложнее двоичной ([2]), но она способна дать как минимум три преимущества.
Читать дальше →
Всего голосов 39: ↑20 и ↓19+1
Комментарии24

Mikrotik. IPSEC vpn за NAT как клиент

Время на прочтение4 мин
Количество просмотров39K
Доброго всем дня!

Так уж сложилось, что в нашей компании в течении последних двух лет мы потихоньку переходим на микротики. Основные узлы построены на CCR1072, а локальные точки подключения компов на устройствах попроще. Само собой существует и объединение сетей по IPSEC tunnel, в данном случае настройка достаточно проста и не вызывает никаких трудностей, благо есть множество материалов в сети. А вот с мобильным подключением клиентов есть определенные трудности, вики производителя подсказывает, как использовать Shrew soft VPN client (по этой настройке все вроде понятно) и именно этот клиент использует 99% пользователей удаленного доступа, а 1% это я, мне стало просто лень каждый раз вводить логин и пароль в клиент и захотелось ленивого расположения на диване и удобного подключения к рабочим сетям. Инструкций по настройки Микротика для ситуаций, когда он находится даже не за серым адресом, а совсем за черным и может быть даже несколькими NAT в сети я не нашел. Потому пришлось импровизировать, а потому предлагаю посмотреть на результат.

Имеется:

  1. CCR1072 как основное устройство. версия 6.44.1
  2. CAP ac как домашняя точка подключения. версия 6.44.1

Главная особенность настройки в том, что ПК и микротик должны находиться в одной сети с одной адресацией, что и выдается основым 1072.
Читать дальше →
Всего голосов 13: ↑13 и ↓0+13
Комментарии5

Чистая архитектура. Часть I — Введение

Время на прочтение4 мин
Количество просмотров31K
Это вольный и очень краткий пересказ новой книги Роберта Мартина (Дяди Боба) «Чистая Архитектура», выпущенной в 2018 году.
Читать дальше →
Всего голосов 28: ↑24 и ↓4+20
Комментарии30

Начинаем FPGA на Python

Время на прочтение5 мин
Количество просмотров36K
Технология FPGA (ПЛИС) в настоящее время обретает большую популярность. Растёт количество сфер применения: помимо обработки цифровых сигналов, FPGA используются для ускорения машинного обучения, в blockchain технологиях, обработке видео и в IoT.

Данная технология имеет один существенный минус: для программирования используются довольно сложные и специфичные языки описания цифровой аппаратуры Verilog и VHDL. Это осложняет вхождение новичка в FPGA и для работодателя найти специалиста с этими специфичными знаниями на рынке труда сложно. С другой стороны популярный высокоуровневый язык программирования Python с фреймворком MyHDL делают программирование FPGA простым и приятным. Тем более людей знающих Python на порядок больше специалистов владеющих Verilog/VHDL. Серией статей я хочу показать как легко и просто войти в область FPGA зная Python и начать делать настоящие сложные FPGA проекты на этом языке. Отмечу, что на ПЛИС python непосредственно не исполняется, а является инструментом для генерации прошивки.
Читать дальше →
Всего голосов 47: ↑45 и ↓2+43
Комментарии56

Как работает Android, часть 4

Время на прочтение26 мин
Количество просмотров94K


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

Читать дальше →
Всего голосов 51: ↑51 и ↓0+51
Комментарии25

Нужные HTTP-заголовки

Время на прочтение5 мин
Количество просмотров45K
Наши клиенты в Fastly любят манипулировать заголовками HTTP. Подбор правильной комбинации заголовков — одна из лучших вещей, какую вы можете сделать для безопасности своего сайта и значительного вклада в его производительность.

Большинство разработчиков знают о важных и нужных HTTP-заголовках. Самые известные — Content-Type и Content-Length, это почти универсальные хедеры. Но в последнее время для повышения безопасности начали использоваться заголовки вроде Content-Security-Policy и Strict-Transport-Security, а для повышения производительности — Link rel=preload. Несмотря на широкую поддержку в браузерах, лишь немногие их используют.

В предыдущей статье мы рассмотрели ненужные заголовки. Сейчас разберёмся, какие заголовки действительно следует настроить для своего сайта.
Читать дальше →
Всего голосов 29: ↑29 и ↓0+29
Комментарии5

Небольшая заметка про wildcard сертификаты Let’s Encrypt

Время на прочтение2 мин
Количество просмотров24K
Все уже, наверное, в курсе про такую организацию как Let’s Encrypt. С некоторых пор там можно получить и wildcard сертификат. В этой короткой заметке я опишу пару не очень очевидных моментов, с которыми столкнулся.
Читать дальше →
Всего голосов 22: ↑18 и ↓4+14
Комментарии17

RIPE распределил последний блок /22 из последнего блока /8. Что дальше?

Время на прочтение6 мин
Количество просмотров27K

Распределение IP-адресов в 185/8, последнем свободном блоке RIPE, в 2012 году (слева) и 2018 году (справа), источник

17 апреля 2018 года Сетевой координационный центр RIPE — одна из пяти Региональных регистратур — распределил последние 1024 адресов IPv4 из последнего блока /8, полученного от IANA в 2011 году. Хотя последний блок 185/8 полностью распределён между европейскими компаниями, но в пуле RIPE NCC осталось 9 млн «восстановленных» адресов (то есть адресов, изъятых у бывших владельцев). По расчётам Координационного центра, этого хватит ещё примерно на два года, если выдавать по заявкам локальных регистраторов по /22 каждому.

На данный момент каждый адрес IPv4 — исключительно дефицитный товар, а последние выделенные IP-адреса используются очень интенсивно. Поэтому особенно неприятны ситуации вроде нынешней массовой блокировки IP-адресов в России. На пике блокировки 18 млн заблокированных Роскомнадзором IP-адресов соответствовали 5,5 млн заблокированных доменов — это около 2,45% из 223 млн известных доменов в интернете.
Читать дальше →
Всего голосов 35: ↑35 и ↓0+35
Комментарии86

Используем GPG для шифрования сообщений и файлов

Время на прочтение9 мин
Количество просмотров174K

Кратко о том, как создавать ключи, шифровать и подписывать файлы и отправлять ключи на сервер ключей.



GPG (также известный как GnuPG) создавался как свободная альтернатива несвободному PGP. GPG используется для шифрования информации и предоставляет различные алгоритмы (RSA, DSA, AES и др.) для решения этой задачи.

Читать дальше →
Всего голосов 28: ↑27 и ↓1+26
Комментарии13

Arduino для начинающих. Часть 1

Время на прочтение3 мин
Количество просмотров132K

Предисловие


Доброго времени суток, Хабр. Запускаю цикл статей, которые помогут Вам в знакомстве с Arduino. Но это не значит, что, если Вы не новичок в этом деле – Вы не найдёте ничего для себя интересного.


Введение


Было бы не плохо начать со знакомства с Arduino. Arduino – аппаратно-программные средства для построения систем автоматики и робототехники. Главным достоинством есть то, что платформа ориентирована на непрофессиональных пользователей. То есть любой может создать своего робота вне зависимости от знаний программирования и собственных навыков.


Начало


Создание проекта на Arduino состоит из 3 главных этапов: написание кода, прототипирование (макетирование) и прошивка. Для того, чтоб написать код а потом прошить плату нам необходима среда разработки. На самом деле их есть немало, но мы будем программировать в оригинальной среде – Arduino IDE. Сам код будем писать на С++, адаптированным под Arduino. Скачать можно на официальном сайте. Скетч (набросок) – программа, написанная на Arduino. Давайте посмотрим на структуру кода:

Читать дальше →
Всего голосов 29: ↑15 и ↓14+1
Комментарии18

Arduino для начинающих. Часть 2

Время на прочтение3 мин
Количество просмотров21K

Предисловие автора


Доброго времени суток, Хабр. Как и планировала, продолжаю цикл статей, которые помогут Вам в знакомстве с Arduino. Также, в каждой последующей статье (включая эту) вы сможете найти ответы на самые важные вопросы, которые появляются в комментариях. Для тех кто не читал первую часть, сюда.


Как определить полярность светодиода


На данный момент большинство светодиодов делают так, чтоб упростить процесс определения полярности. У светодиода есть две ножки, одна из которых будет длиннее другой. Длинная ножка – это плюс (анод). Короткая ножка — это минус (катод). Но что же делать если выводы светодиода одинакового размера? Иногда вывод катода отмечают точкой или небольшим срезом на корпусе. Также узнать полярность можно путём внимательного рассмотрения кристалла. Плюс имеет гораздо меньший размер внутри линзы по сравнению с минусом. Контакт минуса, в свою очередь, напоминает флажок, на котором размещается кристалл. Также можно определить полярность источником питания. Для этого необходимо источник тока (с напряжением от 3 до 6 вольт), резистор (с сопротивлением 220 – 470 Ом) и сам светодиод. Сначала соедините одну ножку светодиода с резистором. Затем коснитесь светодиодом контактов источника питания. Дотрагиваясь анодом к плюсу, а катодом к минусу, светодиод будет светиться (если он исправен).

Читать дальше →
Всего голосов 8: ↑8 и ↓0+8
Комментарии12

Сборка rpm пакетов и настройка своего репозитория

Время на прочтение22 мин
Количество просмотров44K

В данной статье будет подробно описан процесс создание rpm пакетов и организация репозитория. Прошу всех, кому интересна данная тема, пройти под кат.

Читать дальше →
Всего голосов 20: ↑18 и ↓2+16
Комментарии23

«Прозрачный» HTTPS прокси для обхода блокировок Роскомнадзора

Время на прочтение9 мин
Количество просмотров88K
Привет, хабровчане! Я думаю, многие в последнее время столкнулись с проблемами доступа к нужным ресурсам из-за попыток Роскомпозоранадзора заблокировать Телеграм. И я думаю, комментарии тут излишни. Факт — эти ресурсы ни в чем не виноваты, но они заблокированы. Проблемы возникли с Viber, ReCaptcha, GoogleFonts, Youtube и др. (кроме самого телеграма). Это случилось и в моей организации, причем некоторые невинные сервисы нужны нам как воздух. В какое-то время решалось все использованием прокси серверов, но они были нестабильны или вовсе отключались (их также блокировал наш великий и могучий РКН).

После прочтения кучи статей, пришла идея научить Squid пускать отдельные URL через Tor. Использовать ли такой метод, решать вам. Но скажу, что после реализации пропали все проблемы, которые были до этого. Кому интересно, идем под кат.
Читать дальше →
Всего голосов 56: ↑49 и ↓7+42
Комментарии144

MikroTik & OpenWRT & DNSCrypt

Время на прочтение4 мин
Количество просмотров43K
Решение данного квеста навеяно этой статьей.

Данная статья рассчитана на пользователя, имеющего домашний роутер производства MikroTik, поэтому моменты, связанные непосредственно с компиляцией и сборкой, опущены, а примеры по MikroTik'у в картинках.

Итак, вкратце, постановка задачи следующая: поднять в качестве виртуальной машины (гостя) на MetaROUTER урезанную версию OpenWRT и уже на нем поднять связку DNS + DNSCrypt, которую использовать для шифрованного обмена данными с внешними DNS серверами.
Читать дальше →
Всего голосов 16: ↑15 и ↓1+14
Комментарии33

TON: Telegram Open Network. Часть 1: Вступление, сетевой уровень, ADNL, DHT, оверлейные сети

Время на прочтение9 мин
Количество просмотров105K

TON: Telegram Open Network


Уже две недели Рунет шумит про Telegram и ситуацию с его бессмысленной и беспощадной блокировкой Роскомнадзором. Рикошетом задело многих, но всё это — темы для постов на Geektimes. Меня же удивило другое — я до сих пор не видел на Хабре ни одного разбора запланированной к выходу на базе Telegram сети TON — Telegram Open Network. Мне захотелось восполнить этот недостаток, ибо поизучать там есть что — даже несмотря на отсутствие официальных заявлений о нём.


Напомню — ходят слухи о том, что Telegram запустил очень масштабное закрытое ICO, уже собрав в нём невероятные суммы. Предполагается, что уже в этом году будет запущена собственная криптовалюта Gram — и у каждого пользователя Телеграма автоматически появится кошелёк, что само по себе создает немалое преимущество перед остальными криптовалютами.


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


Что же говорится в этом документе? Я попробую пересказать его своими словами, близко к тексту, но по-русски и чуть более человечно (да простит меня Николай со своей склонностью уходить в формальную математику). Имейте в виду, что даже в случае его подлинности, это черновое описание системы и оно, весьма вероятно, изменится к моменту публичного запуска.

Итак, приступим
Всего голосов 84: ↑83 и ↓1+82
Комментарии129
1
23 ...

Информация

В рейтинге
Не участвует
Откуда
Снежинск (Челябинская обл.), Челябинская обл., Россия
Дата рождения
Зарегистрирован
Активность