Search
Write a publication
Pull to refresh
1
0
Send message

Космический интернационал

Reading time40 min
Views7.7K

«Перед тем как отправить на орбиту первого космонавта, русские, чтобы убедиться в безопасности полёта, запустили беспилотный корабль, потом собаку. И у американцев прежде человека полетела пустая «капсула» и обезьяна. Немцы тоже матчасть проверяли – сначала запустили поляка и чеха». Нет, это история не про мифических астронавтов Третьего Рейха, а про программу «Интеркосмос», которая тоже изрядно овеяна легендами.

Читать далее

Развенчиваем популярные мифы и заблуждения о компиляторах

Level of difficultyMedium
Reading time21 min
Views16K

▍ Введение


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

Эта статья станет своего рода продолжением статьи о компиляторных оптимизациях. Я перечислю некоторые заблуждения, с которыми я сталкивался за долгие годы (многие из них были моими), и постараюсь развеять все мифы. Заранее скажу, что эта статья посвящена только крупным популярным компиляторам общего назначения наподобие LLVM, GCC и ICX. Некоторые из сделанных здесь утверждений не относятся, например, к специализированным компиляторам2, а также к мелким и средним компиляторам3.
Читать дальше →

Корпорации типа PPT — особая форма бизнеса для общественного блага

Level of difficultyEasy
Reading time8 min
Views2K


С 1985 года американская компания Patagonia (производитель товаров для активного отдыха) отчисляет 1% от продаж на сохранение и восстановление окружающей среды. За это время они перечислили разным экологическим группам $140 млн в виде денежных и натуральных пожертвований. В 2002 году основатели компании создали некоммерческую корпорацию «1% для планеты», чтобы побудить другие компании поступать так же.

Но этого им показалось мало, так что в 2022 году владельцы кардинально изменили форму собственности, превратив компанию в целевой траст типа PPT (Perpetual Purpose Trust). Так что теперь это бизнес, который работает с определённой целью. Попросту говоря, 100% прибыли коммерческой компании идёт конкретно на экологию.
Читать дальше →

GUI для исследования внутренностей PDF

Reading time3 min
Views9.2K


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

Перед открытием документа всегда желательно посмотреть, что находится внутри. Для этих целей существуют парсеры, которые разбирают PDF. Например, Interactive PDF Analysis (IPA, на скриншоте вверху) и другие.

Даже если перед нами чистый PDF, иногда нужно изучить содержимое и извлечь полезные ресурсы в нетронутом виде — например, оригинальные изображения в JPG.
Читать дальше →

Как устроены условные точки останова

Reading time9 min
Views3.6K
Условные точки останова (conditional breakpoints) – исключительно полезный инструмент. Но всем известно, насколько они замедляют работу кода, так, что из-за этого некоторые даже бросают ими пользоваться. В Visual Studio в своё время удалось значительно улучшить ситуацию с ними, что не помешало пользователю @ryanjfleury высмеивать их крайнюю медлительность. Но даже у raddbg уходит около 2 секунд на выполнение 10000 итераций простого цикла, если внутри него расставлены точки останова. Для сравнения: без точек останова тот же самый цикл выполняется менее чем за 1 мс. Почему же так чертовски медленно?

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

Обратите внимание: в этой статье речь идёт об отладчиках, работающих с нативным кодом – например, GDB, LLDB, Visual Studio C++. Отладчики для управляемых и скриптовых языков работают примерно так же, но могут отличаться детали реализации.
Читать дальше →

Высокофункциональная лень

Reading time7 min
Views8.4K

Лень и морализм

Вокруг лени есть ореол морализма. «Фуу плохо». Не хорошо быть ленивым, надо много трудиться. Лень — зло.

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

Лень: биологически основы

Эволюционные предпосылки

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

Поведенческие программы. А у всякой программы есть жизненный цикл. Есть версии программы, они могут устареть в новых реалиях. Эволюция «не успевает» за изменениями условий и среды.

Читать далее

DDoS-атаки «для самых маленьких»

Reading time21 min
Views85K

Привет читающим этот длиннопост. Давно ничего не писал на Хабре, но 2022 год выдался достаточно непростым в плане DDoS-атак. По роду деятельности, я столкнулся с большим количеством вопросов о том, что такое DDoS-атаки, нужно ли с ними бороться (WTF??? конечно, не нужно, пусть все лежит нужно). Зрелым матерым спецам здесь вряд ли будет интересно.

Пользуясь случаем, хочу поблагодарить Qrator Labs за большой вклад в оригинальный текст. Без них он бы не родился :)

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

Читать далее

Какие именно админы нужны на российском рынке и как получать больше разработчика

Reading time6 min
Views14K
image
Играет в «черепашку»

Привет, Хабр! В прошлом посте вы неожиданно сильно начали интересоваться тем, какие же именно админы нужны в России. Если коротко, то пока по Долине ходят толпы голодных уволенных девопсов, в России админ может спокойно получать больше разработчика.

Понятное дело — не любой.

Если очень коротко, то есть дефицит железных админов, которые прямо занимаются конфигурацией железа и немного кодят. Немного — это когда железа уже не 10 стоек, а 100 и больше, и нужно обновить конфиги на всём. И потом подключить какие-то мониторинги. И следить за ними, чтобы просыпаться в три ночи из-за экскаваторщика.

Руками этого уже не сделать.

Сейчас я расскажу об общих вещах и конкретно — о практике наших админов. Понятно, что наша практика не очень показательна: из отчёта по крупной аварии может сложиться впечатление, что работа админа — держать руками патрубок дизеля. Но всё же наша практика может быть полезной для оценки рынка. Если вы админ, то, надеюсь, вы тоже поможете дополнить это со своей точки зрения.
Читать дальше →

Никто не понял world in conflict

Level of difficultyEasy
Reading time15 min
Views5.2K

Что вы помните о World in Conflict?

Удалую клюкву? «Полюшко-поле»? Красный медведь пробудился? Вертолетный десант у Статуи Свободы и небо в куполах над Сиэтлом?

А если я скажу, что игра была вообще не об этом?

Что, если шведы из Massive Entertainment смогли полноценно деконструировать нарративы времен Холодной войны с позиции стороннего наблюдателя?

Что, если сценарист Кристофер Эмгард смог беспощадно раскритиковать игры, которые на момент релиза в 2007 году еще даже не были в разработке?

Что, если World in Conflict могла полностью изменить облик сюжетных игр «про войну», не останься она в тени именитых конкурентов и узкой нише жанра тактики в реальном времени?

Тогда...

Господи, помоги нам выжить среди этой смертной любви.

Читать далее

DaMAgeCard: как индустрия карт памяти SD воскресила DMA-атаки

Reading time24 min
Views9.7K

Размеры медиа-файлов кардинально растут, а вместе с ними растут и требования к скорости носителей. Копировать сотни гигабайт RAW-изображений с обычной, даже высокоскоростной SD-карты стандарта UHS-II стало слишком долго. И вот жалобы фотографов на то, что кофе успевает остыть, пока все данные будут скопированы с карты, дошли до председателей SD Association и CompactFlash Association, и те приняли решительные меры: выпустили стандарт SD ExpressCFexpress).

Наша команда (Positive Labs) занимается исследованием безопасности программно-аппаратных систем и системного ПО. Поэтому мы внимательно наблюдали за развитием событий еще с 2018 года — с момента публикации стандарта, который обещал огромный прирост скорости за счет подключения карты к шине PCIe. Но мы следили не только за бенчмарками скорости, хотя она, конечно, внушительная. Наличие PCIe потенциально опасно из-за возможности доступа к памяти устройства, а это очень интересный вектор атак.Вот только до недавнего времени производители контроллеров и пользовательских устройств не спешили с поддержкой стандарта SD Express. Мы уже даже было обрадовались, что они научились на своих ошибках, и теперь не хотят давать внешним устройствам доступ к памяти (спойлер: нет). А пока расскажем, почему уделяем столько внимания почтенной шине PCI.

Читать далее

Создаём пасьянс для забытой периферии Nintendo

Level of difficultyMedium
Reading time11 min
Views2.8K

Недавно я закончил создание пасьянса для Nintendo E-Reader. Мне удалось уместить его на одной карте, и это практически полнофункциональная версия игры. Я очень доволен тем, что получилось.

Что такое E-Reader?

E-Reader — это периферийное устройство для Game Boy Advance, выпущенное компанией Nintendo в 2002 году. Сканируя карты, где есть полоска с кодом из точек, можно загружать мини-игры, дополнительные уровни, анимации и так далее.

Читать далее

А снег идет, или делаем новогоднюю гирлянду с детьми на микроконтроллерах Raspberry Pi Pico

Reading time13 min
Views8.3K

Что делать, когда обычные гирлянды надоели, а пора встречать Новый год с детьми? Можно создать эффект снегопада и другие эффекты с помощью адресных светодиодов NeoPixels, добавить ИК-пульт для управления выбором эффектов, их скоростью и яркостью и, при желании, мини-дисплей для отображения текущих параметров. Так мы займем время до праздников и создадим свое устройство для украшения елки и не только елки.


Нам понадобятся микроконтроллер Raspberry Pi Pico (около 4$) или его разновидности на чипе RP2040, простейший ИК-пульт (дешевле 1$ вместе с приемником, батарейкой и белым светодиодом в комплекте) и соединенные последовательно адресные ленты WS2812B (10 светодиодов на метр, напряжение 5V, стоимость около 1$/метр). Также можно подключить миниатюрный I2C или SPI дисплей (1-3$), если таковой найдется под рукой. Код MicroPython реализует 5 разных эффектов, доступных при нажатии кнопок 1 — 5 на ИК пульте, а также обеспечивает управление яркостью гирлянды (кнопками вверх и вниз) и скоростью эффектов (кнопками вперед и назад).


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

Пентест для самых маленьких на примере WinRAR

Level of difficultyEasy
Reading time10 min
Views9.8K

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

Читать далее

Ведение систем IPAM и DCIM в NetBox: начинаем с кабельного журнала

Reading time5 min
Views68K

Привет! Меня зовут Дмитрий, в Росбанке я занимаюсь автоматизацией сетевой инфраструктуры. Этим постом я начинаю серию публикаций о NetBox — популярном опенсорс-инструменте для документирования инфраструктуры на уровне IP-адресации (IPAM) и железа (DCIM). NetBox ценен тем, что даже с базовой функциональностью «из коробки» он предоставляет множество возможностей, не говоря уже о допиливании через форки. Далее я представлю NetBox подробнее и на нашем примере расскажу, с чего начинать работу.

Читать далее

RIP BGP

Level of difficultyMedium
Reading time10 min
Views27K

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

Читать далее

Как разрабатываются электронные девайсы

Level of difficultyEasy
Reading time13 min
Views16K

Мы постоянно окружены огромным количеством электроники. Эти маленькие платы с электронными мозгами есть практически везде. Некоторые из них даже подключены к интернету шпионят за нами. Но как они создаются?

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

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

Читать далее

Как устроены тени в старых 3D-играх

Level of difficultyEasy
Reading time10 min
Views13K

Ближе к концу превосходной ленты Вима Вендерса «Идеальные дни» главный герой Хираяма пьёт пиво под мостом после того, как увидел, как Бизнесмен ухаживает за девушкой, в которую влюблён Хираяма. Внезапно к нему подходит Бизнесмен. Всё оказалось не так просто, но их беседа приводит их к фундаментальным вопросам:

Бизнесмен: Тени. Становятся ли они темнее, когда накладываются друг на друга?
Хираяма: Не знаю.
Бизнесмен: Я не знаю ещё очень многого... Именно так заканчивается жизнь... Наверно.
Хираяма: Давайте узнаем прямо сейчас.
Бизнесмен: Что?

И они выходят на свет уличного фонаря, чтобы изучить свои тени (сцена целиком).

Хотя Бизнесмен и не видит разницы, Хираяма уверен, что пересекающиеся тени действительно становятся темнее. «Они должны становиться темнее, это логично». Очень сильная сцена.

К сожалению, Хираяма ошибается. Тени не становились темнее. Источник света всего один, и он довольно далеко, поэтому тень — это просто отсутствие света. Не важно, сколько раз перекрыт источник света.

В 3D-видеоиграх же тени — это нечто совсем иное. Очень легко нарисовать тёмное пятно под ногами персонажа и предполагать, что всё остальное освещено. Возможно, Хираяма вспоминал тень-пятно из Metal Gear Solid, которая становится темнее, когда накладывается на другие?

Читать далее

Я прождал 10 миллиардов тактов и дождался лишь экрана загрузки

Level of difficultyEasy
Reading time7 min
Views16K

Современное оборудование невероятно быстрое. M1 Max, на котором я пишу эту статью, работает с частотой 3,2 ГГц. То есть 3,2 МИЛЛИАРДА тактов в секунду. Однако Microsoft Teams требуется 3 секунды, чтобы открыть ссылку, и я отказываюсь верить, что для открытия ссылки требуется 9,6 МИЛЛИАРДА тактов. Очевидно, я упрощаю, но смысл остаётся прежним: как так получается, что оборудование становится быстрее, а приложения — только медленнее?

«Потому, что мы выполняем гораздо больше задач». Так считает любитель позднего капитализма. Позвольте объяснить.

Превосходный пример мощи современного «железа» — это видеоигры. Я могу симулировать огромные 3D-среды с физикой и освещением, полученным трассировкой лучей, при этом играть в реальном времени с друзьями из других штатов и даже стран; вполне доступный компьютер потребительского уровня выдаёт 124 миллионов пикселей в секунду1.

[1. 1080p при 60 FPS = 1920 × 1080 × 60 = 124416000]

Можно посмотреть и в обратном направлении: людям удаётся запускать DOOM на почти любом устройстве с процессором: на калькуляторах, iPod, фотокамерах. Невероятно маломощные, зачастую одноразовые устройства обладают достаточными вычислительными ресурсами, чтобы выполнять сверхсовременную на 1993 год игру. Это не особо удивляет, ведь прошло три десятка лет, но показывает, какой путь мы проделали.

Читать далее

Самодельный лидар: OpenTOFLidar

Reading time27 min
Views80K

В этой статье я хочу рассказать про свой проект импульсного (TOF) Open Source лидара — о том как я его делал, и каких результатов удалось добиться.
top-picture

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

Information

Rating
Does not participate
Registered
Activity