Как стать автором
Обновить
64
0
Иван Михейкин @diafour

Программист

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

Открываем Adobe Flash в Docker в 2024-м

Уровень сложности Простой
Время на прочтение 3 мин
Количество просмотров 4.1K

Шарился я тут в по Интернету в поисках видео событий 15-летний давности и нашел что-то вроде искомого, но никак не смог посмотреть - требовался Adobe Flash. Погуглил я как мне открыть это видео, но рабочих вариантов не нашел. "Ладно" - подумал я: "Challenge accepted". А нам с читателем лишняя возможность потренироваться в создании Docker-контейнеров.

Дисклеймер: использование устаревших версий браузера и самого Flash-плагина несёт потенциальную угрозу безопасности. Используйте этот метод на свой страх и риск.

Итак, начнём с того, что поддержка Flash-плагина была выпилена в Chromium начиная с версии 89. То есть нам нужно что-то где есть более ранняя версия. Это что-то - это Ubuntu 18.04 - там 65я версия, если без апдейтов,а с апдейтами 112-я. В какой-то момент должна была быть и 88-ая, но не нашел где её добыть - если читатель подскажет, буду безмерно благодарен. И так, поехали - создаём Dockerfile

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

МС6205. Плазменный дисплей советской эпохи

Уровень сложности Средний
Время на прочтение 12 мин
Количество просмотров 14K
Приветствую всех!
За годы своего существования советская промышленность успела выпустить многие десятки моделей газоразрядных индикаторов, начиная с опытных и заканчивая серийными. Среди них особый интерес вызывают матричные. Их было меньше всего, но именно они являются самыми интересными.



Итак, в сегодняшней статье рассмотрим, пожалуй, самый легендарный индикаторный прибор из этой серии — дисплей МС6205 на базе индикаторной панели ГИП-10000. Узнаем, как его запустить и как он устроен, попутно напишем софт для управления им. Традиционно будет много интересного.
Читать дальше →
Всего голосов 105: ↑105 и ↓0 +105
Комментарии 117

Прокси-сервер для Android на Go

Уровень сложности Средний
Время на прочтение 14 мин
Количество просмотров 5.7K

Реализация простого HTTP CONNECT прокси-сервера на Go, квест с маркировкой сетевых пакетов и запуск программы в Android.

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

WS, но лучше

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

Привет, Хабр! В этой статье я хотел бы рассказать о методе работы с WebSocket, который я часто применяю в своих разработках. Если кратко, WebSocket — это, пожалуй, самое частое, что я использую в своих проектах. Мне очень важно, чтобы сервер мог общаться с клиентом в двустороннем режиме, но использование обычного WebSocket не всегда комфортно. Для решения этой задачи я часто пишу какой-либо обработчик, и, суммируя суть того, что именно делает этот обработчик, я решил написать небольшую и очень простую библиотеку.

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

Создаем клон Instagram при помощи Flutter и Feeds. Часть 2

Уровень сложности Средний
Время на прочтение 33 мин
Количество просмотров 2.5K

Привет! Продолжаю выкладывать перевод статьи, которую я использовал как основу для реализации социального функционала в нашем проекте Dom24x7, где люди могут общаться друг с другом, решать возникающие бытовые проблемы, а также взаимодействовать с УК/ТСЖ. Первую часть статьи можно прочитать тут.

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

Простой испытатель ферритов

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

Реалии нашей жизни поменялись. Если раньше мы шли в магазин и покупали нужное ферритовое кольцо для трансформатора, то теперь порой приходится довольствоваться тем, что удалось найти. В ящике стола, в лампочке-экономке из ближайшей мусорки, у китайцев на Алиэкспрессе... Зачастую без маркировки, тип которого известен лишь приблизительно. И вопросы, вопросы... Действительно ли из Китая выслали то, что просили? Подойдет ли для двухтактного трансформатора это зеленое кольцо? А что будет, если намотать трансформатор на феррите с мю 10000? Каким выбрать число витков на вольт, когда формула из статьи в журнале "Радио" дает 0,4 витка на вольт, а популярная программа -- 1,2 витка?

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

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

Джон Кармак взялся за сильный ИИ — и у него особый подход. Список фундаментальной литературы для начала

Уровень сложности Средний
Время на прочтение 7 мин
Количество просмотров 35K

В рубрике «Выдающиеся программисты 21 века» уже была статья про гения программирования Джона Кармака, создателя движков для Doom, Quake и других культовых игр. Потом он занялся разработкой ракет (они в Armadillo Aerospace реализовали вертикальную посадку раньше SpaceX), а затем — систем VR, софта для Oculus Rift и других устройств. Сейчас началась четвёртая фаза в его карьере.

В интервью изданию Dallas Innovates 52-летний Кармак рассказал о новом проекте — системе сильного ИИ (AGI), над которым он работает самостоятельно, без участия больших корпораций, как отшельник в своём особняке в Далласе.

Сильный ИИ общего назначения не будет уступать среднему человеку в понимании происходящего и решении проблем. По оценке Кармака, с вероятностью 60% такая система (альфа-версия) будет создана до 2030 года, с вероятностью 95% — до 2050 года. Это самая важная и интересная задача, которая сейчас стоит перед человечеством.
Читать дальше →
Всего голосов 99: ↑96 и ↓3 +93
Комментарии 94

Создаём веб-сайт, как будто сейчас 1999 год

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

Раньше веб был более странным местом


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

И для целого поколения Интернет-пользователей наличие собственного веб-сайта было признаком крутости. Именно так обстояли дела тогда, в эпоху до появления социальных сетей и web 2.0, о старых добрых статических личных страничках.

Сайты наподобие Geocities, Angelfire, Tripod и Expage предлагали для всех услуги бесплатного статического хостинга, поэтому произошёл бум количества личных веб-сайтов. У некоторых хостов даже были конструкторы веб-сайтов в стиле drag-and-drop, так что вам даже не нужно было изучать HTML.

Сегодня мы можем посмеяться над этими веб-сайтами, по сравнению с современными изящными и минималистическими сайтами они выглядят карикатурно. Но я считаю, что мы слишком далеко ушли в другом направлении, и сегодня многие веб-сайты выглядят одинаково. Те старые личные веб-сайты были отражением вашей личности.
Читать дальше →
Всего голосов 111: ↑109 и ↓2 +107
Комментарии 72

Как я написал свой язык и онлайн IDE

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

Здесь онлайн интерпретатор, здесь документация.

В сентябре 2020 года я учился на 2 курсе. В том же месяце я впервые написал программу, которая мне понравилась. Она создаёт svg изображения растений, здесь её можно потрогать.

Чуть позже я выяснил, что такие программы называют процедурными генераторами. Я увлекся этим, сделал ещё парочку (1, 2).

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

Читать далее
Всего голосов 57: ↑56 и ↓1 +55
Комментарии 16

Visual Studio Code: переносим Find Widget вниз

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

В далеком 2017 году некто Peng Lyu (rebornix) задался вопросом о наилучшем пользовательском интерфейсе для Find Widget в Visual Studio Code. В ходе дискуссии было выбрано всем нам знакомое поведение поисковой строки в VSCode. И там же было отвергнуто предложение о возможности закрепления поисковой строки в нижней части редактора.

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

Груг против сложности. Я пролинтил все посты на Хабре про Python, и вот что я нашёл

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

В какой-то момент времени я превратился в педанта брюзгу. В фильмах малейшие нестыковки и провалы в логике портят мне весь просмотр. В чатах меня бесит it's вместо its. А в статьях про программирование... Всё плохо. За меня всё уже сказал @AlexanderAstafiev, я лишь процитирую:

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

Самое забавное, что, по моим ощущениям, везде я вижу одни и те же классы проблем. Я даже запилил сервис, где можно закинуть код и получить код ревью, и, собрав немного статистики, понял, что 50 типов ошибок достаточно, чтобы покрыть большую часть проблем в чужом коде. Но выборка у меня была небольшая, и я подумал: а что, если проверить много кода?

И всё заверте...
Всего голосов 144: ↑139 и ↓5 +134
Комментарии 153

10 популярных вопросов, которые нужно знать, чтобы пройти собеседование на позицию Flutter-разработчика

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

Привет, на связи Flutter-команда Mad Brains. Сегодня мы разберём 10 часто задаваемых вопросов на собеседованиях на позицию Junior Flutter Developer. Наш ведущий Flutter-разработчик расскажет, как показать себя во всей красе и получить оффер. А в конце статьи вас ждет приятный бонус от нашей команды. 

1. Зачем вообще использовать Flutter? Какие у него преимущества недостатки?
Можете взять примеры, которые представлены на официальном сайте Flutter. Но из своего опыта отметим несколько важных поинтов. Во-первых, у Flutter есть несомненный плюс — это единая кодовая база, которая позволяет увеличить скорость разработки. Благодаря этому у него высокая масштабируемость, потому что почти 100% кода портируется на Android, iOS, Web, Desktop и т.д.

Немаловажным плюсом является декларативная верстка, которая позволяет писать намного более понятный и логичный код. Еще одна  особенность, которая сейчас есть и на Kotlin, — это Hot reload и Hot restart. Нет необходимости сидеть и ждать компиляции, чтобы увидеть изменения, что дает сильный буст в скорости разработки и позволяет оставаться в потоке. Кто использовал их, знает, насколько это крутая штука и насколько это сокращает время разработки. 

Не стоит забывать, что у Flutter сформировано большое комьюнити, есть хорошая поддержка от Google, огромное количество библиотек на pub.dev и статей. Это тоже плюс, хотя еще пару лет назад молодость технологии была ее минусом. 

Из минусов выделим высокие требования к специалистам. Мы хоть и можем писать сразу под Android и iOS, но обязаны знать основы нативной разработки. Поэтому среди требований к Flutter-разработчику можно увидеть базовые знания одной из платформ. 

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

NAS за шапку сухарей

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

Привет коллеги! На связи системный администратор Cloud4Y Денис Генералов (или тот самый чел, который искал уязвимости биоса в прошлых статьях на ноутбуках, статья тут).

Сегодня предлагаю рассмотреть вариант сборки домашнего NAS дендральным методом.

Всё описанное в статье является результатом деятельности моего воспаленного мозга поиска оптимальной конфигурации для своего домашнего файлохранилища и не является призывами к прямому действию. Представляет из себя изыскание того самого продукта, который может максимально покрыть мои потребности за сравнительно небольшую плату. Не поднимает вопрос о подлинности и законности использования указанного решения на территории предприятия, для всего остального – есть GPL v2.

Читать далее
Всего голосов 72: ↑70 и ↓2 +68
Комментарии 156

10 задач с JavaScript Promise для подготовки к собеседованиям

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

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

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

Как я использовал старые телевизоры в качестве мониторов

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

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

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

Дизерпанк — статья о дизеринге изображений, которую мне хотелось бы прочитать

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

Мне всегда нравилась визуальная эстетика дизеринга (dithering, псевдотонирование, псевдосмешение цветов), но я не знал о том, как он применяется. Поэтому я провёл кое-какие изыскания. Эта статья может содержать отголоски ностальгии, но в ней не будет никаких следов Лены.

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

Давайте знакомиться. Я руковожу производством электровакуумных приборов

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

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

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

Итак, в СССР на 1990 год действовали несколько крупных заводов по производству телевизионных кинескопов в городах Львов, Паневежис, Воронеж, Елец, Москва, Запрудня МО, Новосибирск, Новгород, Брянск, Нальчик. Ряд специальных ЭЛТ так же производился в нескольких НИИ. Это был достаточно мощный сравнительной высокотехнологичный индустриальный кластер, где работали более 70 тысяч человек (а со смежной цепочкой кооперации более 100 тысяч!). Ряд упомянутых заводов параллельно делали ещё другие электровакуумные приборы, в том числе осциллографические ЭЛТ и другие "приборные", ФЭУ, ЭОПы, имели свои сборочные производства телевизоров, компьютерных мониторов и разных стеклянных изделий бытового назначения.

Но всё равно, весь этот индустриальный кластер держался на массовом выпуске бытовых кинескопов, который с развалом СССР и началом реформ Гайдара-Ельцина начал резко стагнировать и уменьшаться в первую очередь из за очевидного проигрыша иностранным массовым образцам кинескопов по технико-экономическим параметрам. Наиболее длительно существовать на уменьшающемся рынке смогли заводы, которые либо выпускали только чёрно-белые бытовые кинескопы (для конкуренции с которыми западных массовых образцов приборов уже не было на рынке) и электровакуумные приборы для специальных применений, либо заводы, у которых была как большая номенклатура и цветных ( ЦЭЛТ ), и чёрно-белых кинескопов, а так же диверсификация в направлении другой бытовой и специальной техники. Массовое производство цветных кинескопов в РФ фактически остановилось в 1997-98 годах. После единственным и достаточно успешным наследником кинескопной промышленности СССР стал литовский завод "Экранас" ( г. Паневежис ). Его специалисты для увеличения мощности производства на европейские кредиты смогли фактически по цене металлолома скупить значительную часть советского оборудования последней модификации с остановившихся предприятий аналогичного профиля и провести работу модернизации такого оборудования на базе западной автоматики. Так же качество выпускаемых литовцами кинескопов резко возросло в связи с переходом предприятия на снабжение западными материалами и комплектующими. "Экранас" проработал до 2006 года и на пике в 2003-2004 годах выпускал цветных кинескопов порядка 5-6 миллионов в год, что было соизмеримо с мощностью всех советских кинескопных заводов вместе взятых.

Читать далее, как
Всего голосов 165: ↑160 и ↓5 +155
Комментарии 206

Кратко о форматах TLV, BER, CER, DER, PER

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

Я хотел бы кратко рассказать о таких форматах данных, распространенных в ИТ-индустрии, в том числе в области инфраструктур открытых ключей (ИОК), смарт-картах, включая документы нового поколения на базе смарт-карт, в мобильной связи. Хотя рассматриваемые форматы и связаны с ASN.1, но некоторые из них ушли далеко за пределы этой области. О некоторых из них многие знают, но не все знают настолько, чтобы, допустим, уметь отличать BER от DER, а некоторые варианты типа PER вообще являются экзотикой.

Глубоко в тему погружаться не буду. Просто познакомлю с главными особенностями, чтобы понимать, что это такое и с чем это едят. Досконально и в полном объеме всё это описано в соответствующих стандартах ITU-T X.690 и ISO 7816.

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

Правила абстрактной нотации (ASN.1) используются, когда надо специфицировать формат некой структуры данных. Сами правила описаны в стандартах ITU-T X.680–X.683. Пожалуй, что наиболее распространенный вариант применения — это форматы сертификатов X.509 и всего, что имеет к ним отношение. Пример текстовой нотации может выглядеть как-то так:

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

Как Uber сэкономил 70 тысяч ядер благодаря полуавтоматической настройке сборки мусора

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

Введение


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

Технологический стек Uber состоит из тысяч микросервисов на базе нативной облачной архитектуры на основе планировщика. Большинство этих сервисов написано на Go. Наша команда Maps Production Engineering ранее сыграла важную роль в значительном повышении эффективности множества сервисов Java при помощи настройки сборки мусора. В начале 2021 года мы исследовали возможности достичь такого же эффекта в сервисах на Go. Мы запустили несколько профилей CPU для оценки текущего состояния дел и выяснили, что сборка мусора была главным потребителем ресурсов CPU в подавляющем большинстве критически важных сервисов. Ниже приведено описание некоторых профилей CPU, в которых сборка мусора (определяемая объектом runtime.scanobject) потребляет значительную долю выделенных вычислительных ресурсов.
Читать дальше →
Всего голосов 25: ↑24 и ↓1 +23
Комментарии 4

Собеседование Golang разработчика (теоретические вопросы), Часть I

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

Как сейчас проходят собеседования на golang разработчика? Что спрашивают?

Читать далее
Всего голосов 47: ↑46 и ↓1 +45
Комментарии 22

Информация

В рейтинге
5 058-й
Откуда
Россия
Работает в
Зарегистрирован
Активность