Pull to refresh
89
0
Вячеслав Шапилов @SHVV

User

Send message

Как я начал заниматься спортом по 2-3 часа в день

Level of difficulty Easy
Reading time 6 min
Views 34K

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

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

Читать далее
Total votes 86: ↑81 and ↓5 +76
Comments 132

Самое понятное объяснение Специальной теории относительности

Level of difficulty Medium
Reading time 13 min
Views 89K

Специальная теория относительности - удивительная теория, которая опровергла многие представления о мире, в которых человечество не сомневалось всю историю своего существования.

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

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

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

Читать далее
Total votes 379: ↑379 and ↓0 +379
Comments 387

Корутины C++ для чайников: пишем асинхронный веб-клиент

Level of difficulty Medium
Reading time 24 min
Views 18K

Написать этот материал меня побудило... отсутствие хороших статей по корутинам в C++ в русскоязычном интернете, как бы странно это не звучало. Ну серьезно, C++20 существует уже несколько лет как, но до сих пор почти все статьи про корутины, что встречаются в рунете, относятся к одному из двух типов. Или обзор начинается с самых глубин и мелочей, пересказывая cppreference, а потом автор выдыхается и все сводится к "ну а дальше все понятно, возьмите и примените это в своем коде", что напоминает известную картинку с совой. Либо иногда в статьях рассматривается применение корутин на примере генераторов, и этим все и ограничивается. Но, давайте будем честны, генераторы — это замечательно, но за все время моей многолетней карьеры разработчика я, вероятно, делал что‑то подобное генераторам разве что разок, в то время как асинхронный ввод‑вывод приходится использовать почти в каждом проекте. И поэтому меня гораздо больше интересует реализация асинхронного ввода‑вывода с использованием корутин, а не генераторы. Поэтому пришлось разбираться во всем самому.

Читать далее
Total votes 68: ↑66 and ↓2 +64
Comments 34

Технологии прошлого и настоящего: как я сделал Nixie Clock с самодельным драйвером на ESP8266

Level of difficulty Easy
Reading time 23 min
Views 10K

Радиолампы, словно артефакты из прошлого, олицетворяют нечто большее, чем просто технологию. Они несут в себе определенную магию, отражающую уникальное сочетание технического мастерства и эстетики. Не удивительно, что часы на неоновых индикаторах занимают довольно уникальную нишу в мире дизайна и интерьера. Они представляют собой не просто инструмент для отображения времени, но и элемент декора, который может значительно изменить атмосферу помещения. Этой статье я расскажу о своем опыте создания Nixie Clock на базе драйвера собственной разработки.
Читать дальше →
Total votes 52: ↑52 and ↓0 +52
Comments 68

Пакуем весь трафик в Ping message, чтобы не платить за интернет | ICMP NAT traversal

Level of difficulty Hard
Reading time 29 min
Views 83K

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

Так вот, переходя ближе к теме. Вы можете воспроизвести подобное поведение очень просто прямо сейчас при помощи вашего мобильного телефона и ноутбука. Я в своём конкретном кейсе буду пользоваться услугами оператора красного цвета, однако проблема актуальна для всех текущих 4 монополистов рынка сотовой связи. Как вам, скорее всего, уже известно, они около года меняют свою политику, внедряя одно интересное нововведение — с вас требуют дополнительной платы за раздачу интернета поверх основного пакета. То есть вы не можете взять и использовать свои 7 гигов на месяц как ресурс для раздачи при помощи точки доступа. Для точки доступа вам предлагают отдельный, зачастую совсем невыгодный тариф. Конечно, можно сменить основной тариф на специальный «тариф для раздачи» и платить втридорога, но, как вы понимаете, сегодня мы в потребителя будем играть совсем недолго. Сейчас по пунктам нужно доказать нечестность подобной политики и с чувством завершённого введения перейдём к непосредственно технотексту.

Подобные условия пользования, само собой, порождают внутреннее недовольство пользователей:

За интернет они платят? — Да.

Раздача как-либо использует ресурсы провайдера сверх нормы? — Нет.
Читать дальше →
Total votes 298: ↑296 and ↓2 +294
Comments 91

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

Level of difficulty Medium
Reading time 30 min
Views 22K

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

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

Так как же работает объектив?
Total votes 162: ↑161 and ↓1 +160
Comments 38

Лучшая фантастика последних трех лет по версии Goodreads

Reading time 5 min
Views 130K

GoodrGoodreads — пожалуй, главный книжный сайт англоязычного интернета. Недавно он составил список самых популярных фантастических книг за 2020-2023 годы, опираясь на мнение пользователей. К сожалению, на русский язык переведено далеко не все, однако даже те книги, которые уже можно прочитать в переводе, составляют внушительный список. Вот он.

Читать далее
Total votes 62: ↑58 and ↓4 +54
Comments 180

Городская фотоохота

Level of difficulty Easy
Reading time 10 min
Views 15K


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

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

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

Внимание, в статье внушительное количество фотографий объёмом около 60 мегабайт!
Смотреть котиков!
Total votes 120: ↑116 and ↓4 +112
Comments 158

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

Level of difficulty Easy
Reading time 13 min
Views 122K

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

Читать далее
Total votes 150: ↑132 and ↓18 +114
Comments 280

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

Level of difficulty Medium
Reading time 7 min
Views 35K

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

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

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

Пишем GPT в 60 строк NumPy (часть 1 из 2)

Level of difficulty Medium
Reading time 16 min
Views 70K

В этом посте мы начнём реализацию с нуля GPT всего в 60 строках numpy. Во второй части статьи мы загрузим в нашу реализацию опубликованные OpenAI веса обученной модели GPT-2 и сгенерируем текст.
Читать дальше →
Total votes 96: ↑94 and ↓2 +92
Comments 33

SD – это Linux, а Midjourney – Mac: краткое полное руководство по Stable Diffusion

Reading time 13 min
Views 72K
Вот таких тирекс-тянок выдает нейросеть

Текст про Midjourney привлек внимание, и в комментариях наметилась дискуссия про Stable Diffusion. Аргументы убедили меня попробовать SD самостоятельно, но вскоре я понял, что это не самая простая задача. Сообщество любителей Stable Diffusion произвело на свет множество удобных инструментов, которые своим количеством и сложностью могут отпугнуть новичков.

Всю неделю, что я экспериментировал с нейросетью, я боролся с желанием SD добавлять вторичные гендерные признаки по моим запросам и грустил, смотря на результаты генерации котиков. О своих страданиях частично писал в личном Telegram-канале — подписывайтесь! В этом же тексте — собрал основные советы по работе со Stable Diffusion и подвел итог, сравнив эту нейросеть с Midjourney.
Читать дальше →
Total votes 106: ↑105 and ↓1 +104
Comments 53

Вы НЕ сошли с ума (о режиме сна в Windows)

Reading time 8 min
Views 122K

Вы сталкивались с тем, что ноутбук случайно включается, хотя вы уверены, что отправляли его в сон?

Бывало, что батарея оказывалась пустой, хотя вы точно-точно помните, как убирали в сумку заряженный на 100% ноутбук?

Тогда вам сюда:

Мне сюда
Total votes 259: ↑249 and ↓10 +239
Comments 503

30 фильмов про IT и киберпанк, которые можно пересмотреть на новогодних праздниках

Reading time 10 min
Views 47K
На новогодних праздниках можно позволить себе отдохнуть и посмотреть старое и новое кино. Фильмы про IT подбирал так, чтобы можно было найти на любой вкус. Ниже список, которым решил с вами поделиться.

Читать дальше →
Total votes 62: ↑45 and ↓17 +28
Comments 99

Игровой программный рендеринг в 2022-м году

Reading time 28 min
Views 25K


Программный рендеринг был широко распространён в играх на ПК до повсеместного распространения т. н. 3d-ускорителей (видеокарт). Каждая игра содержала свой собственный код рендеринга, каждая игра имела свои уникальные особенности в нём. Но с распространением видеокарт программный рендеринг в играх умер.


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

Читать дальше →
Total votes 196: ↑196 and ↓0 +196
Comments 57

Что читать разработчику C++

Reading time 6 min
Views 28K

В этой подборке — не только классические рекомендации книг для C++ программистов. Обычно советуют издания про паттерны, развитие стандарта или успехи большой компании. Но за всем этим изобилием «экспертных советов» и best practices теряется одна простая мысль: язык программирования — это средство выражения мысли от одного разработчика другому, а также средство описания пользовательского API в самом широком смысле.

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

Первые 5 книг этой подборки — в меньшей степени про технику, в большей степени об осознанности деятельности C++ программистов любого уровня. Остальные — «золотой фонд» классической литературы для C++ разработчиков.

Читать далее
Total votes 96: ↑86 and ↓10 +76
Comments 16

Как происходит генерация мира Minecraft

Reading time 21 min
Views 52K
image

Задумывались ли вы когда-нибудь, сколько на нашей планете песчинок? По грубым оценкам, более 7 квинтиллионов! Это 7 с 18 нулями. И всё-таки это даже меньше половины количества уникальных миров в Minecraft. Как же Minecraft и другим похожим играм удаётся создавать такие сложные, красивые, однако полностью процедурные миры? В этой статье я расскажу, как игра генерирует свои миры, от самой высокой горы до самой глубокой пещеры.

Часть 1: процедурная генерация


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

Однако первой игрой с процедурно сгенерированным миром является «Elite», первая версия которой вышла для компьютера BBC Micro в 1984 году. Это прапрадед относительно новой «Elite: Dangerous», выпущенной в 2014 году.


Автоматическая генерация новых миров может казаться привлекательным способом ленивого создания бесконечного контента для игры. Однако на самом деле всё наоборот! Чтобы научить машину тому, как выглядит хороший уровень… нужно быть очень хорошим программистом и дизайнером уровней.

Контент должен быть достаточно разнообразным, чтобы выглядеть свежим, но не настолько разнообразным, чтобы казаться атипичным. И необходимо создавать миры, на которые не просто интересно смотреть, но которые обеспечивают справедливую с точки зрения игрока сложность.
Читать дальше →
Total votes 67: ↑67 and ↓0 +67
Comments 17

Как мы делали Warface для Денди

Reading time 31 min
Views 43K
В октябре 2020 мне написал мой друг Андрей Скочок, работающий в Mail.ru, и предложил сделать для них необычную промоакцию.

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



Читать дальше →
Total votes 246: ↑246 and ↓0 +246
Comments 40

Разбираем алгоритмы компьютерной графики. Часть 1 — «Starfield Simulation»

Reading time 7 min
Views 16K

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

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

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

Читать далее
Total votes 46: ↑46 and ↓0 +46
Comments 11

Как написать рефлексию для C++

Reading time 14 min
Views 23K

C++ поистине противоречивый язык. Старый добрый С существует аж с 1972 года, С++ появился в 1985 и сохранил с ним обратную совместимость. За это время его хоронили ни раз и ни два, сперва Java, теперь его потихоньку продолжают хоронить Go и Rust. Все его недостатки пережеваны множество раз. Если вы пришли в мир С++ из других ООП языков, то здесь вы не найдете...

Читать далее
Total votes 37: ↑36 and ↓1 +35
Comments 44

Information

Rating
3,864-th
Location
Самара, Самарская обл., Россия
Date of birth
Registered
Activity