Как стать автором
Обновить
0
0.2
Олег @playermet

Программист

Мифы про метаболизм и почему люди не худеют на 1000 калорий?

Уровень сложности Простой
Время на прочтение 8 мин
Количество просмотров 41K
Здоровье
Обзор

В личные на vc.ru мне пришел такой фидбэк.

Читать далее
Всего голосов 120: ↑112 и ↓8 +104
Комментарии 465

Neural Network Optimization: океан в капле

Уровень сложности Простой
Время на прочтение 14 мин
Количество просмотров 4K
Блог компании Doubletapp Серверная оптимизация *Обработка изображений *Машинное обучение *Искусственный интеллект
Обзор
🤖 Сезон machine learning

Всех приветствую, меня зовут Антон Рябых, работаю в Doubletapp. Вместе с коллегой Данилом Гальпериным мы написали статью про важный этап в процессе обучения нейронных сетей и получения необходимых нам результатов —  оптимизацию модели. Зачем нужно оптимизировать модель, если и так все работает? Но как только вы начнете разворачивать модель на устройстве, которое будет ее обрабатывать, перед вами встанет множество проблем.

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

Оптимизация моделей направлена на уменьшение размера моделей при минимизации потерь в точности и производительности.

Методы оптимизации

Pruning — устранение части параметров нейронной сети.
Quantization — уменьшение точности обрабатываемых типов данных.
Knowledge distillation — обновление топологии исходной модели до более эффективной, с уменьшенным количеством параметров и более быстрым выполнением.
Weight clustering — сокращение количества уникальных параметров в весах модели.
OpenVino, TensorRT — фреймворки, с помощью которых можно оптимизировать модели.

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

Математическая продлёнка. Мир треугольников

Уровень сложности Средний
Время на прочтение 19 мин
Количество просмотров 6.6K
Математика *Научно-популярное

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

Читать далее
Всего голосов 65: ↑64 и ↓1 +63
Комментарии 26

Описательная статистика перформанс-распределений

Время на прочтение 40 мин
Количество просмотров 4.9K
Блог компании JUG Ru Group Тестирование IT-систем *Математика *Конференции Статистика в IT

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

Андрей Акиньшин @DreamWalker поговорил об этом в докладе на нашей конференции Heisenbug. И теперь, пока мы готовим следующий Heisenbug (где тоже будут доклады о производительности), решили опубликовать текстовую версию его выступления (а для тех, кому удобнее другие форматы, прикрепляем видеозапись и слайды). Предупреждаем: много букв, цифр, графиков и формул!

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

Генерация 2D мира с помощью клеточного автомата на Python

Уровень сложности Простой
Время на прочтение 8 мин
Количество просмотров 4.5K
Python *Программирование *Алгоритмы *Математика *

Всем привет! На написание этой статьи меня вдохновил автор YouTube канала PeaAshMeter. В своем видео автор показывает простейший генератор 2D мира, который основан на простейшем правиле клеточного автомата. Что такое клеточный автомат? Какие клеточные автоматы бывают? На эти и многие другие вопросы я попробую ответить.

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

Пишем игру от первого лица в 2КБ на Rust

Уровень сложности Средний
Время на прочтение 21 мин
Количество просмотров 9.9K
Разработка игр *Алгоритмы *Математика *Rust *
Туториал
Перевод

Введение


Поначалу кажется, что создать игру от первого лица без движка или графического API практические невозможно. В этом посте я расскажу, как это сделать при помощи алгоритма под названием ray casting.

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

Для начала разберёмся, как работает алгоритм, а затем построчно напишем его. Затем мы пересмотрим код, добавим несколько возможностей и оптимизируем его размер. Я постарался сделать пост максимально доступным и дружелюбным, но вам поможет приличное знание программирования, Rust и основ геометрии.
Читать дальше →
Всего голосов 78: ↑77 и ↓1 +76
Комментарии 10

О вреде GOTO-фобии (с примерами на C)

Время на прочтение 17 мин
Количество просмотров 26K
Программирование *Совершенный код *Алгоритмы *C *
Перевод

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

Читать далее
Всего голосов 127: ↑120 и ↓7 +113
Комментарии 339

Сканер установленных перехватчиков в памяти процесса

Время на прочтение 98 мин
Количество просмотров 6.1K
Информационная безопасность *Assembler *Delphi *Разработка под Windows *


В статье будет рассмотрен один из методов поиска изменений в памяти процесса, на основе построения полной карты уязвимых к перехвату адресов. Рассмотрена работа со списками загрузчика, ручным разбором таблиц импорта/отложенного импорта/экспорта/TLS загруженных файлов, c обработкой форварда функций и ApiSet редиректов.
Будет показана методика доступа в 64 битное адресное пространство чужого процесса из 32 битного кода через статически сформированный ассемблерный шлюз, так и подход с применением автоматически генерируемого гейта.
Будет дано много комментариев «почему» применяется тот или иной подход, а также описание различных проблемных ситуаций, основанных в том числе как на собственном опыте, так и на разборе кода системного загрузчика, поэтому будет интересна и подготовленным специалистам.
Читать дальше →
Всего голосов 54: ↑54 и ↓0 +54
Комментарии 24

Алгоритмы быстрого умножения чисел: от столбика до Шенхаге-Штрассена

Уровень сложности Средний
Время на прочтение 26 мин
Количество просмотров 21K
Python *Алгоритмы *Математика *

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

И уж конечно, никогда при написании a * b мы не задумываемся о том, как реализовано умножение чисел a и b в нашем языке. Какие вообще есть алгоритмы умножения? Это какая-то нетривиальная задача?

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

Скорее к формулам!
Всего голосов 173: ↑173 и ↓0 +173
Комментарии 28

Как навсегда запомнить выученное — 2 самые эффективные техники запоминания

Время на прочтение 17 мин
Количество просмотров 18K
Блог компании FirstVDS GTD *Учебный процесс в IT Лайфхаки для гиков Мозг

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

Читать далее
Всего голосов 35: ↑34 и ↓1 +33
Комментарии 23

Самый научный гайд по сну

Уровень сложности Простой
Время на прочтение 12 мин
Количество просмотров 79K
Научно-популярное Мозг Здоровье
Из песочницы

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

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

Например, мне категорически не хотелось расставаться со смартфоном перед сном. Спустя долгие часы изучения этого вопроса я обнаружил, что этого не нужно делать! И ребята, сидящие на диете, можете выдохнуть, метаболизм во сне не отключается. Ниже мы подробно и без воды разберём всё, что касается сна.

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

Путешествие в космос или введение в симплекс-метод для школьников

Уровень сложности Средний
Время на прочтение 18 мин
Количество просмотров 7.1K
Занимательные задачки Математика *Научно-популярное
Туториал

На Хабре уже были публикации о симплекс-методе раз и два. И они очень даже хороши. Но это не те публикации, которые расчитаны на школьников или учителей школ. Я же хотел обратить внимание на одну довольно старую статью, вышедшую в журнале "Юный техник" в августе 1985 года. Естественно, она была нацелена на школьников. И мне давно хотелось разобрать её детально...

Ключ на старт!
Всего голосов 56: ↑56 и ↓0 +56
Комментарии 14

Математика самонаводящихся ракет из аниме

Время на прочтение 4 мин
Количество просмотров 15K
Разработка игр *Алгоритмы *Математика *Unity *
Перевод

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

Мы поговорим о кубических кривых Безье, шуме Перлина и rotation minimizing frames.
Читать дальше →
Всего голосов 77: ↑76 и ↓1 +75
Комментарии 11

50 самых интересных клавиатур из частной коллекции

Время на прочтение 20 мин
Количество просмотров 25K
Блог компании Cloud4Y Гаджеты Компьютерное железо Периферия
Обзор

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

Будет много фото (специально вас предупреждаю).

Читать далее
Всего голосов 104: ↑103 и ↓1 +102
Комментарии 70

Гайд по эвент-сорсингу

Уровень сложности Средний
Время на прочтение 19 мин
Количество просмотров 6.7K
Программирование *Проектирование и рефакторинг *API *Микросервисы *
Туториал

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

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

Читать
Всего голосов 29: ↑24 и ↓5 +19
Комментарии 103

Что такое тексел?

Время на прочтение 5 мин
Количество просмотров 5.4K
Работа с 3D-графикой *Разработка игр *Unity *CGI (графика) *

Всем привет! Меня зовут Григорий Дядиченко, и я технический продюсер. Сегодня хочется поговорить о текстурах. О том, что такое тексель и о других базовых понятиях компьютерной графики. Что такое тексел или тексель? Если вам интересна эта тема — добро пожаловать под кат!

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

Boson — разработка СУБД «с нуля» (часть II)

Время на прочтение 6 мин
Количество просмотров 3.8K
C++ *Системное программирование *Алгоритмы *Хранение данных *

В первой части статьи мы обсуждали разработку самого нижнего слоя СУБД Boson - CachedFileIO. Как упоминалось, статистика такого явления как Locality of Reference говорит о том, что в реальных приложениях ~95% запросов к данным локализованы в 10-15% базы данных. При этом среднее соотношение чтения/записи - 70%/30%. Это делает эффективным использование кэша (cache) работающего на основе алгоритма Least Recently Used (LRU). Реализовав его, мы получили 260%-600% прироста скорости чтения при 87%-97% cache hits.

Следующим после кэша слоем СУБД Boson является хранилище записей RecordFileIO. Это уже первый прообраз базы данных, который начинает приносить прикладную пользу. Сформулируем верхнеуровневую спецификацию требований:

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

Математическая продлёнка. Теория чисел на пальцах

Время на прочтение 31 мин
Количество просмотров 6.8K
Математика *

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

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

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

Интернет-цензура и обход блокировок: не время расслабляться

Время на прочтение 9 мин
Количество просмотров 71K
Информационная безопасность *Сетевые технологии *Исследования и прогнозы в IT *
Аналитика

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

Нередко на Хабре в темах, посвященных блокировкам ресурсов встречаются забавные заявления, вида "Я настроил TLS-VPN, теперь будут смотреть что хочу и цензоры мой VPN не заблокируют", "Я использую SSH туннель, значит все ок, не забанят же они SSH целиком", и подобное. Что ж, давайте проанализируем опыт других стран и подумаем, как же оно может быть на самом деле.

Читать далее
Всего голосов 329: ↑324 и ↓5 +319
Комментарии 492

Задача коммивояжера (TSP) точное решение — метод целочисленного линейного программирования (Integer programming)

Время на прочтение 20 мин
Количество просмотров 17K
Высокая производительность *Python *Совершенный код *Алгоритмы *

Дочитав эту статью до конца, вы сможете решать точно задачу коммивояжёра на сотню элементов за считанные секунды!

Заинтригованы? Тогда, добро пожаловать под кат.

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

Информация

В рейтинге
2 007-й
Откуда
Украина
Дата рождения
Зарегистрирован
Активность