Как стать автором
Обновить
-4
0
Артём @3263927

Инженер-программист

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

Друиды 21-го века или «химичим напиток силы» в домашних условиях

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

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

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

Стеганоанализ в компьютерно-технической экспертизе

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

В 1999 году на встрече по обмену опытом с представителями правоохранительных органов США я узнал о существовании цифровой стеганографии. Тогда демонстрация работы S-Tools произвела на меня эффект, сравнимый с тем, что производят фокусы Копперфильда, однако после «разоблачения» все стало понятно. Еще через несколько лет я узнал, что существует научное направление, посвященное обнаружению стеганографии. Это было что-то совсем фантастическое…

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

Цель статьи – привлечь внимание к применению стеганоанализа в компьютерной экспертизе и пригласить сообщество к дискуссии по методологическим аспектам.

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

Универсальная плата для E-Ink экранов. Ч1. Разработка системы питания

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

Однажды мне попался один весьма интересный проект платы, поддерживающей большое количество разнообразных E-Ink экранов. Проект довольно быстро заинтересовал, появилось желание несколько переработать плату, внести улучшения, узнать и попробовать что-нибудь новое. Больше всего изменений претерпела система питания: она была разработана практически с нуля. Процесс оказался очень познавательным и увлекательным, а отладка прототипа преподнесла много поучительных и забавных сюрпризов. Это жизненный рассказ о разработке как есть.
Читать дальше →
Всего голосов 70: ↑70 и ↓0+70
Комментарии30

От падений успешных компаний к индустриализации СССР: запускаем стратегическое планирование. Часть 1

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

19 ноября 1942 года началась операция "Уран": контрнаступление с целью окружения и уничтожения нацистской группировки около Сталинграда.

В итоге операции "Уран" войска стран "Оси" потеряли более 900 тысяч человек, а в Великой Отечественной Войне начался перелом. Перелом, который был бы невозможен, если бы СССР не был в состоянии произвести и поставить на фронт десятки тысяч артиллерийских орудий и миллионы снарядов к ним. Если бы СССР не развернул военную промышленность. Если бы уже для неё не была обеспечена ресурсная и кадровая база. Если бы не запустили в своё время I пятилетку и ГОЭЛРО, Их-то я и собираюсь разобрать в качестве выдающихся примеров стратегического планирования.

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

Первая часть.

Погрузиться в стратегическое планирование
Всего голосов 53: ↑44 и ↓9+35
Комментарии124

Когда Random совсем не случаен

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

Этот пост — рассказ об истории, случившейся больше десятка лет назад; её код был мной утерян. Поэтому прошу простить меня, если я не вспомню точно все подробности. Кроме того, некоторые подробности упрощены, чтобы от этой статьи могли получить все, кому нравится компьютерная безопасность, а не только любители World of Warcraft (хотя, полагаю, диаграмма Венна этих двух групп сильно пересекается).

Когда мне было примерно 14 лет, я узнал об игре World of Warcraft компании Blizzard Games, и она сразу же меня увлекла. Вскоре после этого я нашёл аддоны, позволявшие модифицировать внешний вид и функциональность интерфейса игры. Однако не все скачанные мной аддоны делали именно то, что мне было нужно. Мне хотелось большего, поэтому я начал разбираться, как они сделаны.

Забавно, что в моём серьёзном увлечении программированием можно обвинить World of Warcraft. Оказалось, что код был написан на языке Lua. Аддоны — это просто парочка файлов исходного кода на .lua в папке, напрямую загружаемых в игру. Барьер входа был невероятно низок: достаточно отредактировать файл, сохранить его и перезапустить интерфейс. То, что игра загружала твой исходный код и ты мог видеть его работу, было настоящим волшебством!

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

Читать далее
Всего голосов 117: ↑116 и ↓1+115
Комментарии42

Как работают трансформеры: разбираем математику

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

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

Как вы увидите, математика модели не так уж сложна. Сложность возникает из-за количества этапов и количества параметров. Перед прочтением этой статьи я рекомендую прочитать пост Illustrated Transformer (или читать их параллельно) [перевод на Хабре]. Это отличный пост, объясняющий модель трансформера интуитивным (и наглядным!) образом, поэтому я не буду объяснять то, что уже объяснено в нём. Моя цель заключается в том, чтобы объяснить, как работает модель трансформера, а не что это такое. Если вы хотите углубиться в подробности, то изучите известную статью Attention is all you need [перевод на Хабре: первая и вторая части].

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

Как нашли бэкдор в радиосвязи TETRA — подробный разбор

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

Неприступных крепостей не бывает. Опасную брешь, то есть бэкдор, недавно обнаружили в шифрованном стандарте радиосвязи TETRA. А ведь он вот уже 25 лет используется военными, экстренными службами и объектами критической инфраструктуры по всему миру. Самое интересное, что на технические детали и контекст этой истории почти никто не обратил внимания.

Мы изучили статьи и доклады исследователей и собрали всю суть. Перед вами — подробная история взлома TETRA.

Читать далее
Всего голосов 221: ↑220 и ↓1+219
Комментарии33

Дружба, благодаря которой Google вырос до огромных размеров

Время на прочтение23 мин
Количество просмотров39K
Программируя вместе за одним компьютером, Джефф Дин и Санджай Гемават изменили курс компании — и весь Интернет. На иллюстрации: лучшие программисты Google иногда кажутся двумя полушариями одного мозга. Рисунок Дэвида Планкерта

Однажды в марте 2000 года шесть лучших инженеров Google собрались в импровизированном конференц-зале. Произошло ЧП: с октября 1999 года остановились краулеры. Хотя пользователям ещё выдавали поисковые результаты, но они устарели на пять месяцев. На карту было поставлено больше, чем предполагали инженеры. В данный момент Ларри Пейдж и Сергей Брин вели переговоры о поставке поиска Google на крупнейший в интернете портал Yahoo и обещали увеличить поисковый индекс в десять раз, чтобы идти в ногу со Всемирной паутиной, которая за предыдущий год удвоилась в размере. Если краулеры не починят, google.com застрянет в прошлом, сделка с Yahoo может провалиться, а компания рискует сжечь полученные инвестиции и кануть в небытие.
Читать дальше →
Всего голосов 57: ↑50 и ↓7+43
Комментарии36

Собираем автономную игру на C# в 2 килобайтах

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

Моё детство пришлось на эпоху 1,44-мегабайтных дискет и 56-килобитных модемов, поэтому я всегда любил маленькие программы. Раньше можно было записать на дискету кучу мелких игр и таскать её с собой. Если программа не помещалась на дискету, я задумывался, почему — в ней много графики? Есть музыка? Возможно, она выполняет много сложных операций? Или она просто раздута?

В наши дни дисковое пространство стало настолько дешёвым, что люди отказались от оптимизации по размеру.

Размер важен только при передаче: если вы передаёте программу по проводам, мегабайты равны секундам. По быстрому соединению на 100 Мбит в лучшем случае можно передать 12 МБ в секунду. Если на другом конце провода находится человек, ожидающий завершения скачивания, то разница между пятью и одной секундой может существенно повлиять на его ощущения.

Человек может зависеть от времени передачи как напрямую (пользователь, скачивающий программу по сети), так и косвенно (serverless-сервис, отвечающий на веб-запрос).

Люди обычно воспринимают всё, что длится меньше 0,1 секунды, как мгновенное, 3 секунды — это примерно тот предел, после которого прерывается состояние потока пользователя; а уж 10 секунд удержать внимание пользователя очень сложно.

Хотя уменьшение сегодня уже необязательно, оно всё равно лучше.

Эта статья задумывалась как эксперимент, позволяющий выяснить, каким может быть минимальный размер полезного автономного исполняемого файла C#. Могут ли приложения на C# достичь размеров, при которых пользователи будут ощущать их скачивание как мгновенное? Позволит ли это использовать C# там, где он не используется сейчас?
Читать дальше →
Всего голосов 128: ↑127 и ↓1+126
Комментарии34

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

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

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

Pet-проект «Наручные часы на светодиодах»

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

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

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

Про наручные часы со светодиодами
Всего голосов 155: ↑155 и ↓0+155
Комментарии83

.NET CLI — Зачем загружать все родительские сборки при загрузке сборки

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

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

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

Проект выходного дня: как снять электронный поводок с газового гвозде-забивного степлера Paslode Impulse

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

Пару недель назад ко мне обратился старый знакомый который занимается плотницким делом — строит дома, бытовые постройки, лестницы, мебель и прочую полезную дачную утварь из дерева. В этом деле ему помогает, правильней будет сказать «помогал» (и теперь надеюсь вновь будет помогать) замечательный инструмент — ручной гвозде-забивной газовый степлер Paslode Impulse IM100Ci про-ва Франция. Данный инструмент представляет собой ударный механизм оснащенный камерой сгорания, в которой происходит искровой поджиг и детонация газовой смеси, продукты сгорания с силой выталкивают поршень ударяя бойком по гвоздю и оный со свистом заходит в доску. Всем процессом, разумеется, управляет электроника. Инструмент очень компактный, легкий, предназначен для работы на высоте и имеет адаптацию к температуре окружающей среды (может работать при -20С и ниже).

Но есть у данного инструмента одна неприятная особенность — баллончики с газом (обычный «природный газ» - пропан-бутановая смесь) оснащены RFID меткой стандарта NFC. В одной из ячеек памяти этой метки записывается счетчик «выстрелов». Всего производитель позволяет сделать не более 1250 выстрелов с одного баллончика. Баллончики с газом поставлялись только официальным дистрибьютером за совсем не малые 100+ EURO, а с введением санкций официальный канал поставки закрылся и ценник на них вырос в разы, что сделало данный инструмент практических не пригодным для применения. Разумеется такое положение дел очень сильно расстроило моего знакомого и он обратился ко мне с вопросом — а нельзя ли как-то того… отучить инструмент от этой совершено аморальной привязанности к производителю, ведь заполнить газом баллончик не представляет труда и обходится всего в 50 рублей! Посидев один свободный выходной день за приборами в нашей лаборатории мы пришли к выводу, что можно, и сделать это совсем не сложно.

Читать далее
Всего голосов 173: ↑170 и ↓3+167
Комментарии104

System Design 101

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



О сложных системах простыми словами.


В шпаргалке на высоком уровне рассматриваются такие вещи, как протоколы коммуникации, DevOps, CI/CD, архитектурные паттерны, базы данных, кэширование, микросервисы (и монолиты), платежные системы, Git, облачные сервисы etc. Особую ценность представляют диаграммы — рекомендую уделить им пристальное внимание. Полагаю, шпаргалка будет интересна всем, кто хоть как-то связан с разработкой программного обеспечения и, прежде всего, веб-приложений. Буду признателен за помощь в уточнении/исправлении понятий, терминологии, логики/алгоритмов работы систем (в рамках того, что по этому поводу содержится в оригинале), а также в обнаружении очепяток.


Выражаю благодарность Анне Неустроевой за помощь в редактировании материала.


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


System Design (сборник на английском языке).

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

Подделываем вашу подпись при помощи шарнирного механизма. Теорема Кемпе

Время на прочтение5 мин
Количество просмотров221K
В этом посте я расскажу про программу, которая подделывает любую подпись при помощи шарнирного механизма. Программа основана на теореме Кемпе, доказанной в середине 19-го века.

Читать дальше →
Всего голосов 388: ↑382 и ↓6+376
Комментарии125

Исследуем саундбар Yamaha YAS-109

Уровень сложностиСложный
Время на прочтение9 мин
Количество просмотров29K

Всем привет!

Краткое предисловие: я счастливый обладатель замечательного саундбара YAS-109 от Yamaha, на момент написания пользуюсь им уже целый год, и всё в целом хорошо. Но однажды я решил узнать: не подслушивает ли меня мой музыкальный друг? Ведь у него есть встроенная поддержка Alexa, а ещё Bluetooth, WiFi, Ethernet и другие прелести… Так и начинается история моего ресёрча.

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

Клонирование голоса, замена лица по фото, удаления объектов в видео и все в одном open-source проекте Wunjo AI

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

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

Важно отметить, что Wunjo AI с открытым исходным кодом доступен для установки локально на операционных системах Windows, Ubuntu и MacOS, и это абсолютно бесплатно, без ограничений.

Готовы? Погнали!
Всего голосов 34: ↑33 и ↓1+32
Комментарии37

Ортографическая проекция в фотографии и прочие интересные фокусы с объективами

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

С тем как работает фотоаппарат мы знакомимся еще со школьной программы. Однако привычное нам из школьного курса сведение объектива к "тонкой линзе" на самом деле не отвечает на массу практических вопросов. Например как удается создавать объективы с ортографической проекцией применяемые в системах технического зрения?

Да-да, такие тоже бывают не только в компьютерной графике, но и в фотографии: попробуйте-ка это объяснить оперируя исключительно в терминах "тонкой линзы". Размер изображения предмета в таких системах (почти) не зависит от того на каком расстоянии от объектива они находятся и это весьма удобно для измерения размеров предмета. В этой статье мы поговорим о том как этого удается добиться, как работает автофокус и пленоптические камеры и о многих других интересных вещах

Так как же работает объектив?
Всего голосов 162: ↑161 и ↓1+160
Комментарии38

Мы живем в компьютерной симуляции. Мнение программиста (2024)

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

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

В этой статье:

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

Обсудим квантовую запутанность (оптимизация вычислений).

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

Обсудим возможность существования мультивселенной и параллельных миров.

Также поговорим про эффект Манделы и Ложные воспоминания, что поговорит о том, что прошлое можно менять при определенных условиях.

Читать далее
Всего голосов 94: ↑57 и ↓37+20
Комментарии289

Почему атомы — величайшее чудо Вселенной

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

Один из самых удивительных фактов нашего существования был впервые постулирован более 2000 лет назад: на каком-то уровне каждая часть нашей материальной реальности может быть сведена к ряду крошечных компонентов, сохраняющих свои важные индивидуальные характеристики, которые позволяют им собираться воедино и создавать все, что мы видим, знаем, встречаем и переживаем. Эта простая мысль, приписываемая Демокриту Абдерскому, со временем переросла в атомистическое представление о Вселенной.

Хотя буквальное греческое слово "ἄτομος", означающее "неразрезаемый", не совсем применимо к атомам, поскольку они состоят из протонов, нейтронов и электронов, любая попытка «разделить» атом дальше приводит к потере его сущности: того факта, что он является определённым, конкретным элементом таблицы Менделеева. Именно это свойство позволяет ему создавать все те сложные структуры, которые существуют в нашей наблюдаемой реальности: количество протонов, содержащихся в атомном ядре.

Атом настолько мал, что если подсчитать общее количество атомов, содержащихся в одном человеческом теле, то получится около 1028: это более чем в миллион раз больше, чем количество звёзд во всей видимой Вселенной. И всё же сам факт того, что мы состоим из атомов, является, пожалуй, величайшим чудом во всей Вселенной.

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

Информация

В рейтинге
3 542-й
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность