Search
Write a publication
Pull to refresh
0
Василь Бєляєв @VXPread⁠-⁠only

C#, C++, Lua

Send message

Как работает парктроник и как его обмануть

Reading time3 min
Views51K
imageВ один прекрасный день… Зачем я вру? Не настолько прекрасен был день, когда у меня сдох отечественно-китайский парктроник, установленный еще прежним владельцем. Надо что-то делать, но что? Купить на любой онлайн площадке очередное готовое изделие? Неинтересно. В сети, да и на хабре, есть достаточное количество материалов о реверсе протокола общения блока с индикатором или о создании своего парктроника на Arduino. И можно пойти по одному из этих путей. Но это все не то, чего желала душа. А желала она чего-то более штатного, приближенного по исполнению к автомобильной электронике.
Читать дальше →

Обзор исходного кода Quake 2

Reading time51 min
Views62K
image

Около месяца свободного времени я уделил чтению исходного кода Quake II. Это был удивительный и поучительный опыт, потому что в движок idTech3 внесено большое изменение: Quake 1, Quake World и QuakeGL объединены в одну красивую архитектуру кода. Особенно был интересен способ, которым достигли модульности, несмотря на то, что язык программирования C не обеспечивает полиморфизма.

Quake II во многих отношениях является блестящим образцом программного обеспечения, потому что это был самый популярный (по количеству лицензий) трёхмерный движок всех времён. На его основе было создано более 30 игр. Кроме того, он ознаменовал переход игровой индустрии от программной/8-битной системы цветов к аппаратной/24-битной. Этот переход произошёл примерно в 1997 году.

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

Процесс «подчистки» меня сильно увлёк: в статье теперь более 40 мегабайт видео, скриншотов и иллюстраций. Сейчас я не знаю, стоили ли мои труды того, и нужно ли публиковать в будущем необработанные заметки в ASCII, выскажите своё мнение.

Нет комарам! Обзор антимоскитных «фитобоеприпасов»

Reading time15 min
Views32K
Написав статью про растения отпугивающие клещей я получил большое количество вопросов по поводу других насекомых. И тут уж комары — лидеры. Им этот обзор и посвящается, объединил в одно сообщение все заметки из своего канала с хэштегом #mosquitocide


Скажем НЕТ Комарам!

Нет клещам! Растения против переносчиков болезни Лайма

Reading time3 min
Views46K
Сегодня я написал в своем канале заметку про отпугивание клещей растительными заграждениями. А потом подумал, и решил продублировать на хабр. Пусть она и небольшая по размеру, и не совсем подходит под характерные для меня лонгриды. Но ведь не у всех есть телеграм. И именно сейчас лучшее время для поиска и закупки семян различных растительных репеллентов и «клещегонов». Поэтому сегодня под катом — про биобарьеры против боррелиозного клеща. Из каких растений их лучше сделать!


Защитить дачу от клещей!

Справочник по собеседованиям для тех программистов, которые их не понимают

Reading time3 min
Views147K

На Хабре с завидной периодичностью возникают посты от возмущенных программистов, которые справедливо (наверное) негодуют, почему на собеседовании никто не спросил про их прошлые проекты, не посмотрел их код, но задавал шаблонные справочные вопросы или заставлял решать алгоритмические задачи, которые, скорее всего (в 99%), не будут применяться на вакантной работе.

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

Анализ исходного кода Quake

Reading time17 min
Views46K
image

Я с удовольствием погрузился в изучение исходного кода Quake World и изложил в статье всё, что я понял. Надеюсь, это поможет желающим разобраться. Эта статья разделена на четыре части:

  • Архитектура
  • Сеть
  • Прогнозирование
  • Визуализация
Читать дальше →

Бесплатные вещи за карму — история белорусского стартапа, который меняет принцип потребления

Reading time8 min
Views55K


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

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

Но недавно я узнал, что в Беларуси, где я прожил несколько лет, стал очень популярен сервис, где люди раздают друг другу вещи просто так. Тогда я созвонился с одним из трех его основателей Сергеем Лепченковым. Это бывший программист, который бросил программирование как только смог себе это позволить. Оказалось, за проектом кроется гораздо больше, чем «очередная удобная приложенька в смартфоне». Кажется, я впервые лично поговорил с тем мифическим видом стартапера, который искренне верит, что знает, как сделать мир лучше.
Читать дальше →

От черного прямоугольника в Яндекс.Браузере к ускорению всего Chromium

Reading time6 min
Views59K
Сегодня мы расскажем вам историю об одном интересном баге в Яндекс.Браузере, исправление которого привело к значительному ускорению отрисовки во всем проекте Chromium. И помогут мне в этом Кирилл drBasic Плешивцев и Вадим Lof Петров, специалисты из нашей команды, которым и посчастливилось разбираться с проблемой. Передаю им слово.



Один не совсем обычный баг

Меня зовут Кирилл, я работаю в группе внутренних компонентов Яндекс.Браузера в Новосибирске. В один не совсем прекрасный день коллеги из тестирования Яндекс.Браузера воспроизвели проблему с проигрыванием видео через Flash Player. И поскольку именно наша группа отвечает за эту часть браузера (медиа, кодеки, вот это все), задача досталась мне. Баг, скажем так, не претендовал на оригинальность. Клик по кнопке Play приводил к черному прямоугольнику вместо корректного воспроизведения видео. Этот симптом я встречал и раньше, поэтому рассчитывал на достаточно быструю локализацию проблемы. Но я ошибался.
Читать дальше →

О работе ПК на примере Windows 10 и клавиатуры ч. 1

Reading time16 min
Views114K
image

Меня зовут Андрей Артемьев, я работаю в Microsoft над ядром ОС Windows 10, ранее я работал над Windows 10x (WCOS), XBox, Windows Phone и Microsoft Edge. Я хочу популярно в образовательных целях рассказать о том как работает компьютер на примере клавиатурного ввода и Windows 10. Данный цикл статей рассчитан в первую очередь на студентов технических специальностей. Мы рассмотрим какой путь проходит информация о нажатой клавише от клавиатуры до отображения в Notepad.exe. В виду обширности и междисциплинарности темы в статьях могут быть неточности, о которых сообщайте в комментариях. Какая-то информация может быть устаревшей в виду скорости с которой развивается Windows.
Читать дальше →

Чем дешёвые LED-лампы Philips отличаются от дорогих

Reading time2 min
Views89K
Во многих российских магазинах продаются очень дешёвые светодиодные лампочки Philips, при этом в других магазинах продаются гораздо более дорогие лампочки того же бренда в коробках другого дизайна.

Расскажу, чем они отличаются.

Читать дальше →

Десять имён для одной архитектуры

Reading time3 min
Views133K

На пятничном семинаре учебного проекта лаборатории МФТИ-Интел один из студентов задал мне примерно такой вопрос: а почему 64-битный вариант архитектуры процессоров Intel называется x64, а 32-битный — x86? Я начал объяснять, что не всё так просто. Захотелось нарисовать более полную картину. Ведь на самом деле это не x64, и даже не x86.
Читать дальше →

Введение в Си. Послание из прошлого столетия

Reading time15 min
Views240K

Предисловие


Я несколько раз в своих комментариях ссылался на книгу Эндрю Таненбаума «Operating Systems Design and Implementation» на ее первое издание и на то, как в ней представлен язык Си. И эти комментарии всегда вызывали интерес. Я решил, что пришло время опубликовать перевод этого введения в язык Си. Оно по-прежнему актуально. Хотя наверняка найдутся и те, кто не слышал о языке программировании PL/1, а может даже и об операционной системе Minix.

Это описание интересно также и с исторической точки зрения и для понимания того, как далеко ушел язык Си с момента своего рождения и IT-отрасль в целом.
Читать дальше →

Распознавание лиц на стройке

Reading time6 min
Views53K


В один яркий солнечный день, когда на стройке работа просто кипит, всё вокруг ярко и позитивно, и прямо хочется вечерком пожарить шашлык, на объект проник бывший сотрудник одного из подрядчиков. Он прошёл мимо проходной, помахал рукой охраннику, который знал его в лицо (но не знал, что он уволен), и зашёл внутрь. Там он пошёл к своим друзьям из Центральной Азии. Через полчаса они уже жарили шашлык и наслаждались жизнью.

Нюанс в том, что костёр они развели между двух газовых баллонов.

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

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

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

За одного такого родственника на стройке накладывается штраф от 500 тысяч рублей и выше, и стройка может быть приостановлена от 14 до 90 дней. А это кончается очень, очень печально для генподрядчика и заказчика.

Именно после этого инцидента позвали нас решить задачу ИТ-средствами.
Читать дальше →

Sampler. Консольная утилита для визуализации результата любых shell команд

Reading time5 min
Views87K

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


Sampler


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


Код доступен на гитхабе. Инструкции по установке — для Linux, macOS и (экспериментально) Windows.

Читать дальше →

Wi-Fi сети: проникновение и защита. 3) WPA. OpenCL/CUDA. Статистика подбора

Reading time24 min
Views365K


Баста карапузики, кончилися танцы.

В предыдущей части мы детально рассмотрели «читерские» приёмы обхода «защит» (скрытие SSID, MAC-фильтрация) и защит (WPS) беспроводных сетей. И хотя работает это в половине случаев, а иногда и чаще — когда-то игры заканчиваются и приходится браться за тяжёлую артиллерию. Вот тут-то между вашей личной жизнью и взломщиком и оказывается самое слабое звено: пароль от WPA-сети.

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

К концу статьи вы поймёте, почему ленивый 20-значный пароль из букв a-z на пару солнц более стоек, чем зубодробительный 8-значный, даже использующий все 256 значений диапазона.

Оглавление:
1) Матчасть
2) Kali. Скрытие SSID. MAC-фильтрация. WPS
3) WPA. OpenCL/CUDA. Статистика подбора
По традиции, под катом ещё 15 страниц

Wi-Fi сети: проникновение и защита. 2) Kali. Скрытие SSID. MAC-фильтрация. WPS

Reading time20 min
Views654K


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

В этой статье мы поговорим о том, как можно обнаружить «скрытые» сети, обойти MAC-фильтрацию на точке доступа и почему же WPS (QSS в терминологии TP-LINK) — это «бэкдор в каждом доме». А перед этим разберёмся, как работает беспроводной адаптер и антенна и как Kali Linux (ex. Backtrack) поможет нам в тестах на проникновение в беспроводные сети.

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

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

Оглавление:
1) Матчасть
2) Kali. Скрытие SSID. MAC-фильтрация. WPS
3) WPA. OpenCL/CUDA. Статистика подбора
Много текста. Очень.

Wi-Fi сети: проникновение и защита. 1) Матчасть

Reading time9 min
Views633K


Синоптики предсказывают, что к 2016 году наступит второй ледниковый период трафик в беспроводных сетях на 10% превзойдёт трафик в проводном Ethernet. При этом от года в год частных точек доступа становится примерно на 20% больше.

При таком тренде не может не радовать то, что 80% владельцев сетей не меняют пароли доступа по умолчанию. В их число входят и сети компаний.

Этим циклом статей я хочу собрать воедино описания существующих технологии защит, их проблемы и способы обхода, таким образом, что в конце читатель сам сможет сказать, как сделать свою сеть непробиваемой, и даже наглядно продемонстрировать проблемы на примере незадачливого соседа (do not try this at home, kids). Практическая сторона взлома будет освещена с помощью Kali Linux (бывший Backtrack 5) в следующих частях.

Статья по мере написания выросла с 5 страниц до 40, поэтому я решил разбить её на части. Этот цикл — не просто инструкция, как нужно и не нужно делать, а подробное объяснение причин для этого. Ну, а кто хочет инструкций — они такие:
Используйте WPA2-PSK-CCMP с паролем от 12 символов a-z (2000+ лет перебора на ATI-кластере). Измените имя сети по умолчанию на нечто уникальное (защита от rainbow-таблиц). Отключите WPS (достаточно перебрать 10000 комбинаций PIN). Не полагайтесь на MAC-фильтрацию и скрытие SSID.

Оглавление:
1) Матчасть
2) Kali. Скрытие SSID. MAC-фильтрация. WPS
3) WPA. OpenCL/CUDA. Статистика подбора
Как работают WEP, WPA и WPS

Почему так сложно выбрать, какое кино посмотреть (и что можно было бы сделать)

Reading time13 min
Views19K
Это — ответ на пост на животрепещущую тему «что посмотреть». Автор сам напросился поднял правильный вопрос, но почему-то свел все к странной психологической аналогии «заедания стресса», заявив: «Пока вы сами не знаете, что хотите посмотреть — никто вам не поможет. Будете тупо смотреть ради психологического успокоения».

По-моему, такая постановка вопроса излишне спекулятивна. Да, она отчасти верна, в том плане, что просмотр кино — вещь спонтанная и изначально не предполагает серьезного умственного анализа в процессе этого развлечения.


Киану тоже задумался, какой из своих фильмов посмотреть

Но (все написанное далее — личное мнение автора и его рассуждения) как правило, лично я могу, пусть и в собственных терминах, объяснить, что именно я хочу от фильма. А раз есть личные критерии и хотя бы качественная их оценка, к тому же существуют формализованные понятия вроде «сценарий», «режиссура», «звук», которые тоже могут быть критериями, то уже возможно построить некую модель — в виде алгоритмов, классификатора или обучения с учителем.

Я не программист и не могу продемонстрировать некий работающий метод «вотпрямщас». Но я кинолюбитель, и постараюсь внятно сформулировать те способы осмысления и оценки кинофильмов, на которые можно обратить внимание, и сопутствующие проблемы, которые могут быть неочевидными, если их внятно не обозначить. Поскольку это ответ, теги-хабы поставил как в оригинальном посте, не бейте, пятница же.

Новые лицензии для открытого ПО, кто ими занимается

Reading time4 min
Views5.4K
В середине июля появился проект PolyForm. Его авторы разрабатывают новые типы лицензий для открытого ПО. Рассказываем, зачем они нужны и кто из компаний ими уже воспользовался.

Читать дальше →

Анимированное руководство по базовым механизмам React

Reading time4 min
Views19K
Автор заметки, перевод которой мы сегодня публикуем, говорит, что существует пропасть между использованием React для разработки пользовательских интерфейсов и необходимостью знать о том, как работает React на самом деле. Многие, применяющие React на практике, не знают о том, что происходит в недрах этой библиотеки. Здесь, в анимированной форме, будут рассмотрены некоторые ключевые процессы, происходящие в React при формировании пользовательских интерфейсов.


Читать дальше →

Information

Rating
Does not participate
Location
Одесса, Одесская обл., Украина
Date of birth
Registered
Activity