В рамках данной статьи обратим внимание на проблему внедрения закладных устройств для несанкционированного доступа к информации. Целью данного данной статьи ставится «Изучение радиомониторинга для выявления закладных устройств». Для достижения поставленной цели необходимо решить задачи:
1) Изучить современные методы радиомониторинга для выявления закладных устройств.
2) Провести практическое тестирование радиомониторинга на реальном объекте.
Читать далееВам нравятся старые Legend of Zelda времён SNES и GBA? Может быть, вам пришлась по вкусу Dark Souls? А, возможно, вы ещё и фанат Quake? Но что объединяет все эти игры? Для меня это в первую очередь дизайн уровней. Головоломки, удобные шорткаты и нелинейность исследования - вот то, что делает карту игры частью общего игрового процесса и вдыхает жизнь в процесс исследования мира.
В наше время расцвета жанра rogue-lite вопрос генерации игровых уровней актуален как никогда. Однако по-настоящему интересные уровни в жанре - большая редкость, я бы даже сказал, феноменальная. Чаще всего уровни представляют собой просто наборы заранее заготовленных комнат-коробок, случайным образом приставленных друг к другу, без какой-либо логичной высокоуровневой картины. Но, всё же, я знаю одну игру, которая взяла принципиально другой подход: Unexplored. На мой взгляд, она пересмотрела устоявшийся стереотип об ограничениях левелдизайна в рогаликах. Всё, что для этого понадобилось - циклическая генерация подземелий (Cyclic dungeon generation).
К сожалению, описаний этого алгоритма в Сети мною было найдено всего лишь два, одно из которых слишком поверхностно, а другое ссылается на отсутствующие в свободном доступе инструменты. Попытка самостоятельно повторить алгоритм без таких инструментов приводит к ряду любопытных задачек.
Каких же?Недавно я увидел новость о появлении на GitHub фальшивых репозиториев, которые обманом заставляют жертв скачивать вредонос, угрожающий безопасности их криптоактивов. Вредонос называется Keyzetsu Clipper, и в тот момент мне очень захотелось узнать, как работают настоящие вирусы. До этого у меня только был опыт учатсия в разных CTF. И тут я понял, что пришло время испытать свои силы на реальном примере.
В данной статье я провел полный анализ и реверс Keyzetsu Clipper, начиная от распаковки и расшифровки до анализа функций персистенца, коммуникации и замены кошельков.
Читать далееСравниваем между собой качество 6 различных токенайзеров, включая новейший OpenAi Large|Small и E5 от Microsoft на задаче векторного поиска:
Ищем ответ на вопрос: В чем сила? в сборнике афоризмов и цитат.
Рассматриваются модели
text-embedding-ada-002
text-embedding-3-large
text-embedding-3-small
intfloat/multilingual-e5-large
ai-forever/ruBert-large
ai-forever/sbert_large_mt_nlu_ru
P.S. Бонусом сравнение как влияет токенайзер на качество задачи по классификации текста (30 классов).
Читать далееКаждый раз, когда появляются новые, нетипичные для нашей обыденной деятельности задачи, мы начинаем общаться со специалистами по их решению. И каждый раз это общение начинается с непонимания или недопонимания. Нам кажется, что мы недооценили сложность проблемы, что нам не хватает каких-то фундаментальных доступных знаний, однако, этому узкому кругу профессионалов, которые, при всем их дружелюбии, не спешат снизойти до нашего уровня.
Ситуация выглядит зеркально, когда обращаются к нам. Нам непонятно, почему эти неглупые и технически грамотные люди нуждаются в подробном объяснении элементарных вещей и задают детские вопросы.
Проходит время, и всё становится ясно. Мы приобрели новые знания? Нет, скорее, освоили терминологию. Любой круг специалистов создаёт собственный язык. Не для изоляции от непосвящённых, не из щегольства – так проще и удобнее. Специалист пользуется массой стандартных решений, верность которых когда-то была раз и навсегда ему доказана, не задумываясь об их неочевидности для других. Цель данного словаря – облегчить освоение терминологии, связанной с числовым программным управлением станками (ЧПУ).
Читать далееЛюди пытались найти более быстрые способы передвижения на протяжении всей своей истории. Появление качественной дорожной системы в римской империи в своё время привело к её расцвету, но со временем выяснилось, что и в продуманных дорожных системах бывают забавные изъяны, как например в небезызвестной задаче о кёнигсбергских мостах, считающейся отправной точкой возникновения теории графов. Неудивительно и то, что с развитием вычислительной техники логистические задачи стали одними из первых, над которыми трудились первопроходцы компьютерных наук. Задача о кратчайшем пути -- одна из них, звучит достаточно просто: есть несколько городов и дорог, соединяющих пару городов между собой, мы хотим попасть из города А в город Б пройдя при этом минимальное расстояние. Первый системный подход к этой задаче был описан в работе Эгервари в 1931г., спустя 25 лет Эдсгер Дейкстра придумал алгоритм, который сейчас является частью любого уважающего себя базового курса алгоритмов на графах. На нём же, будем честны, заканчиваются знания о кратчайших путях у большинства профессиональных разработчиков, ибо сценариев, где реализации с википедии/stackoverflow будет не хватать, крайне мало.
Может показаться, что на самом деле просто не было существенного прогресса с 60х годов, так как Дейкстра предоставил почти асимптотически оптимальный алгоритм решения задачи. На самом деле нет, прогресс был и придумали много чего интересного, хоть и действительно с того времени фокус сместился на другие задачи. Приглашаю под кат если интересно узнать что такого напридумывали, что используется в современных логистических системах, почему меня огорчает отсутствие учёта флага единства в HOMM3 при расчёте пути, ну и наконец, что за мужики на картинке выше рядом с Дейкстрой?
Читать далееТвои глаза болят и чешутся чаще, чем тебе хотелось бы брать больничные перед релизами? Тогда это устройство для тебя. Помимо этого, ты на время станешь киберпанком (почти).
Применять после консультации с вашим рипером (врачом).
Face CoolerЯ люблю проводить численные эксперименты. Процессор должен думать, а не простаивать. Напомню, что нетривиальные нули Зета функции Римана, расположенные симметрично относительно оси X, имеют вещественную часть равную -1/2 (что не доказано, может быть, у вас получится?), а мнимая часть у первых нулей равна (+/-, так как они расположены симметрично): 14.13, 21.02, 25.01, 30.42, 32.93...
Поиграем с этим.
Читать далееВ этой статье я расскажу про тех людей или те профессии, которые участвуют в предпродакшене, продакшене и постпродакшене. Понятно, что все зависит от целей и возможностей. Для хакатона будет достаточно программиста, дизайнера и чувака, который делает всё. Для создания GTA 6 потребуются десятки тысяч сотрудников - от уборщиц до инвесторов. Да, уборщицы тоже влияют на процесс разработки и вообще на процесс работы. Вы даже можете почувствовать это на себе. Когда вы приходите в чистый, свежий кабинет, вам намного комфортнее (я молчу, если вы работаете на не любой работе, это другое). Так вот. Я расскажу, какие есть роли и обязанности у каждого участника разработки игр. А выбирать, кто будет входить в вашу команду, решать только вам.
Читать далееВ статье описывается механизм создания собственного модифицированного варианта монады IO в Haskell, с ограничениями операций ввода-вывода.
Хорошим тоном организации структуры любой программы на Haskell считается разделение кода на блоки, выполняющие IO операции ввода-вывода и блоки, полностью состоящие из чистых функций, т.е. функций, не выполняющих IO операций, а лишь принимающие на вход некоторые данные и возвращающие их в преобразованном виде. Такого рода чистые блоки по сути представляют из себя функции в математическом смысле слова, принимающие аргумент и возвращающие значение функции, и напоминают программы зари компьютерной эры, когда данные с перфокарт загружались в программу в самом начале её работы, после чего некоторое время обрабатывались, и по итогу работы программы выводила на печать итоговый результат расчётов, при этом в ходе работы программы не предполагалось никакого интерактивного взаимодействия с ней.
Чтобы добавить в программу интерактивность, но при этом максимально сохранить математическую целостность функций, применяется примерно такой подход:
Читать далееВольный пересказ выступления главы компании Mobileye профессора Amnon Shashua на пресс конференции в 2023 году.
Читать далееЕсли вы думаете, что метавселенные — это исключительно современная история, начавшаяся с Цукерберга, то вы сильно ошибаетесь. В этом году одна из самых старых метавселенных Second Life (SL) отметит свой 21-й день рождения. Да-да, %USERNAME% — эта метавселенная была запущена аж в 2003 году бывшим техническим директором RealNetworks. С тех пор «вторая жизнь» стала для многих людей тем местом, которое позволяло сильно расширить привычные рамки общения и попробовать для себя то, что мы сейчас называем метавселенной.
Технически SL интересен не только простым пользователям, но и людям, связанным с разработкой программного обеспечения, ведь там есть даже собственный язык программирования LSL. Ну а ещё этот виртуальный мир интересен с точки зрения изучения эволюции метавселенных и того, что от них остаётся, спустя 21 год онлайна.
Читать далееАнализатор пакетов Wireshark является мощным инструментом как для сбора, так и для анализа трафика. Ранее мы уже рассматривали использование Wireshark для работы с пакетами DNS. В этой статье мы рассмотрим различные приемы гибкой настройки данного инструмента для того, чтобы сделать работу с ним более удобной и эффективной.
Настройки Wireshark спрятаны в разделе Edit -> Preferences… Здесь нам доступно множество различных настроек и подробно останавливаться на каждой мы не будем. В разделе Appearance мы можем указать различные настройки для визуального отображения: шрифты, используемые цвета, сохранение размеров и расположения основного окна и многое другое.
Читать далееВ статье кратко и почти только по делу говорится о ветровой нагрузке (точнее о её статической составляющей). Вообще, конечно, по интернету гуляет довольно много сильно схожих (друг с другом) объяснений по работе с этим видом загружения, но тем не менее вопросов, особенно у начинающих, с годами меньше не становится и даже наоборот... в связи с чем и публикуется данная статья.
Читать далееBeat 'em up'ы. Жанр, широко распространившийся в середине 80-х годов прошлого века на игровых автоматах и 8-битных консолях, в последующем успешно перетёкший в 16-бит. Его век был ярким, но не сказать чтобы долгим. Различные проекты продолжили выходить и в последующем, некоторые из них даже иногда заглядывали на PC, но носило то скорее больше точечное явление.
За последние несколько лет наметился определённый ренессанс жанра.
Читать далееВ этом посте мы разработаем алгоритм, позволяющий вычислять пересечение выпуклых полигонов. Так же на ряду с проверкой точки на принадлежность полигону мы рассмотрим метод пересечения выровненных по осям прямоугольников и функцию пересечения отрезков.
Читать далееК нам обратился заказчик из сфера развлекательного видеостриминга с интересной проблемой - у него сервера падали не одновременно. А очень хотелось бы добиться синхронности.
Сервера, которые смущали заказчика работали в роли бэкенда для хранения видеофайлов. По сути, это было множество узлов, содержащих десятки терабайт видеофайлов, которые предварительно были нарезаны в разном разрешении конвертерами. Затем, все эти миллионы файлов отдавались во внешний мир с помощью nginx + kaltura, что позволяло перепаковывать на лету mp4 в сегменты DASH/HLS. Это позволяло хорошо переносить даже высокие нагрузки, отдавая плеером только нужные сегменты без резких всплесков.
Проблемы появились тогда, когда встал вопрос с георезервированием и масштабированием при росте нагрузок. Сервера внутри одной группы резервирования умирали не синхронно, так как представляли были весьма разнообразным зоопарком с разными провайдерами, шириной канала, дисками и RAID-контроллерами. Нам предстояло провести аудит всей этой красоты и перестроить почти с нуля весь мониторинг с методологией управления ресурсами.
Читать далее