Pull to refresh
-1
0
Фёдоров Александр @youlose

User

Send message

LLM как оптимизатор для задачи линейной регрессии

Level of difficulty Medium
Reading time 7 min
Views 4.9K

В сентябре 2023 года инженеры из гугла выпустили статью "Large Language Models as Optimizers" об использовании LLM в качестве оптимизаторов.

Ниже мы рассмотрим, как языковая модель Mistral-7B-Instruct на основании текстовых инструкций справится с задачей линейной регрессии.

Читать далее
Total votes 17: ↑16 and ↓1 +15
Comments 6

Обстоятельно о подсчёте единичных битов

Reading time 16 min
Views 96K
Я хотел бы подарить сообществу Хабра статью, в которой стараюсь дать достаточно полное описание подходов к алгоритмам подсчёта единичных битов в переменных размером от 8 до 64 битов. Эти алгоритмы относятся к разделу так называемой «битовой магии» или «битовой алхимии», которая завораживает своей красотой и неочевидностью многих программистов. Я хочу показать, что в основах этой алхимии нет ничего сложного, и вы даже сможете разработать собственные методы подсчёта единичных битов, познакомившись с фундаментальными приёмами, составляющими подобные алгоритмы.

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

Внутреннее представление и оптимизации строк в JavaScript-движке V8: «отмываем» строки, «обгоняем» C++

Level of difficulty Medium
Reading time 8 min
Views 10K

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

В этой статье я хочу рассмотреть, как могут быть представлены строки в движке V8. Попытаюсь продемонстрировать их эффект, обогнав C++ в очень честном бенчмарке. А также покажу, в каких случаях они могут, наоборот, привести к проблемам с производительностью, и что в таких случаях можно сделать.
Читать дальше →
Total votes 84: ↑83 and ↓1 +82
Comments 15

Пишем и отлаживаем код для ARM64 на голом железе

Level of difficulty Hard
Reading time 7 min
Views 5.1K
Я немного изучил arm64 (aarch64) и решил: попробую написать для него код на голом железе.
Я хотел понять, проанализировать и тщательно рассмотреть машинный код, который выдают на моём MacBook Air M1 такие среды исполнения WebAssembly, как v8 или wasmtime. Для этого я (немного) изучил ассемблер arm64. Коллега Саул Кабрера порекомендовал мне почитать книгу Стивена Смита «Programming with 64-Bit ARM Assembly Language», и я могу только поддержать эту рекомендацию.

image

«Programming with 64-Bit ARM Assembly Language» by Stephen Smith, APress 2020

В книге отлично объясняется набор инструкций, приёмы оптимизации, а также действующие соглашения и интерфейсы ABI. Но с ней вы научитесь писать программы только под операционную систему. Я же люблю загружать с нуля мой собственный BBC Microbit или Rasperry Pi. В этом посте я набросал пару шагов, которые успел сделать в этом направлении.
Читать дальше →
Total votes 33: ↑32 and ↓1 +31
Comments 19

Создание облачных приложений с помощью Kubernetes и Istio — Келси Хайтауэр

Level of difficulty Medium
Reading time 12 min
Views 2.2K

Всем привет!

Мы подготовили перевод выступления Келси Хайтауэра на тему «Создание облачных приложений с помощью Kubernetes и Istio» (конференция O’Reilly). Автор рассуждает о преимуществах совместного использования Kubernetes и Istio, рассказывает, что такое sidecar, bar и foo, показывает как отразить матрицу в дашборде и как начать «разговаривать» с инфраструктурой. На примерах он демонстрирует процесс работы с Istio.
Читать дальше →
Total votes 9: ↑9 and ↓0 +9
Comments 2

История одной XSS в Telegram

Level of difficulty Easy
Reading time 4 min
Views 35K

Здравствуйте, уважаемые читатели Хабра! Сегодня я хочу поделиться с вами информацией о XSS-уязвимости, которую я обнаружил в Telegram около двух недель назад. Также статья коснется некоторых особенностей работы программы поиска уязвимостей от Telegram. Моя цель — не только продемонстрировать вам интересный и относительно простой пример XSS, но и обозначить причины, по которым, возможно, не стоит тратить свои усилия на участие в багбаунти программе Telegram.

Читать далее
Total votes 148: ↑145 and ↓3 +142
Comments 59

Как устроен CTF: соревнование, где каждый может побыть хакером

Level of difficulty Medium
Reading time 8 min
Views 37K

Совсем скоро пройдет IT’s Tinkoff CTF для ИТ-специалистов. У нас уже готов сайт, где вы можете узнать подробности и зарегистрироваться, но это еще не все. Для тех, кто пока не знаком с таким форматом соревнований, мы подготовили эту статью. В ней мы расскажем, что такое CTF, и разберем тестовое задание. Если вы любите интересные задачи, приглашаем под кат. 

Читать далее
Total votes 26: ↑25 and ↓1 +24
Comments 7

В России всего 2000 проектировщиков чипов. Что с этим делать?

Reading time 8 min
Views 44K

Согласно статье Ивана Покровского «Возможности и проблемы отечественной микроэлектроники», в России всего две тысячи разработчиков микросхем. Для сравнения: в каждой крупной международной электронной компании есть несколько команд, работающих над чипом или над IP, в каждой по паре сотен разработчиков (хотя бывает и меньше ста, и больше тысячи).

Две тысячи человек — это мало для любого сценария развитии России:

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

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

В других стран бывшего СССР ситуация еще хуже.

Что же делать? Для ответа на этот вопрос мы привлекли Машу Горчичко — выпускницу МИФИ, которая защитила диссертацию в Университете Вандербильда в Теннесси. Маша работала инженером в Роскосмосе, а сейчас работает в Кремниевой Долине, разработчиком в компании Applied Materials — одного из лидеров в оборудовании для производства микросхем.

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

Читать далее
Total votes 102: ↑81 and ↓21 +60
Comments 814

О чём все эти люди говорят, ChatGPT?

Level of difficulty Easy
Reading time 7 min
Views 4.9K

Всем привет! Я продуктовый аналитик компании Интерсвязь, и у меня, как и у многих, часто всплывает потребность в том чтобы «разложить по полочкам» кучу разных текстов. Например:

1. Я хочу знать, о чем вообще все отзывы в маркете про мой продукт.

2. У меня есть много писем от клиентов на разные темы, и я хочу их систематизировать.

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

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

Частотный vs байесовский подходы: оцениваем True Positive Rate при неполной разметке данных

Level of difficulty Hard
Reading time 21 min
Views 3.3K

Привет, Хабр! Меня зовут Алан Савушкин (@naive_bayes), я — дата-сайентист в команде Data Science & Big Data «Лаборатории Касперского», и мы отвечаем в том числе за фильтрацию нерелевантных алертов при телеметрии киберугроз в проекте Kaspersky Managed Detection and Response (MDR). 

В данной статье хочу с вами поделиться, как мы решали задачу построения оценки TPR (True Positive Rate) в условиях неполной разметки данных. Может возникнуть вопрос: а что там оценивать? TPR по своей сути всего лишь доля, а построить доверительный интервал на долю легче простого.

Спорить не буду, но добавлю, что из статьи вы узнаете:

— Что даже в использовании такого интервала есть свои условия.

— Как на основе серии проверки гипотез получить доверительный интервал, используя под капотом гипергеометрическое распределение. А можно ли использовать биномиальное? Спойлер: можно, но тогда важно понимать, на какой вопрос вы отвечаете, пользуясь такой оценкой. Здесь мы рассмотрим задачу с частотной точки зрения.

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

— И, собственно, в чем прикол этой неполной разметки данных, и как мы докатились до всего перечисленного выше.

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

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

Не все TLS-сканеры одинаково полезны

Level of difficulty Easy
Reading time 5 min
Views 2.8K

Получив рейтинг A+ за настройки администрируемого веб-сервера от одного из популярных TLS-сканеров, вы можете впасть в эйфорию, и совершенно безосновательно.
Читать дальше →
Total votes 3: ↑3 and ↓0 +3
Comments 0

Как получить грант 4 млн. рублей от ФСИ на запуск вашего ИТ стартапа? Наш опыт с детальным разбором заявки

Level of difficulty Medium
Reading time 5 min
Views 4.3K

Меня зовут Максим Кульгин, и моя компания clickfraud занимается защитой от скликивания контекстной рекламы в «Яндекс.Директ». В августе 2022 года мы получили грант от фонда ФСИ, и я хочу поделиться опытом с детальным разбором нашей заявки в фонд. Так, кажется, еще никто не делал... а нам не жалко - пользуйтесь на благо вашего бизнеса!

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

Однако, т.к. тема гранта от государства часто “щекочет” воображение: ) я позволю себе, перед разбором нашей заявки, ответить на самые частые вопросы, которые получаю от подписчиков после публикации новостей ФСИ в своем канале Телеграмм (ссылка в конце статьи). Вопросы и сомнения как правило все типовые.

Итак… пройдемся по сомнениям:

Это токсичные деньги! Ну что тут сказать — к нам на счет в Модуль банке пришли 2 млн. рублей (грант дается двумя траншами по 2 млн. за 12 месяцев) и докладываю вам — банк вопросов не задал, деньги не радиоактивные, на них нет споров гриба кордицепса (нашим мозгом они не управляют :), никто из клиентов (200+) не отвернулся. Мы, кстати, благодаря гранту (в том числе) стали резидентом Сколково и это тоже никак тоже не мешает, а скорее наоборот. В общем решать вам, разумеется. Я давно не видел в России настоящих венчурных инвесторов, а про западные фонды просто умолчу.

Читать далее
Total votes 36: ↑22 and ↓14 +8
Comments 31

Восстановление Биткоин Кошелька через короткие подписи ECDSA

Reading time 4 min
Views 9.5K

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

Почему же эти подписи ECDSA называются короткими?

Ответ на этот вопрос вы можете получить из обсуждаемой темы: "Самая короткая подпись ECDSA" [The shortest ECDSA signature]

В прошлой нашей статье: "Уменьшение приватного ключа через скалярное умножение используем библиотеку ECPy + Google Colab" мы создали Python-скрипт: maxwell.py который сгенерировал для нас довольно интересный публичный ключ

(0x3b78ce563f89a0ed9414f5aa28ad0d96d6795f9c63 , 0xc0c686408d517dfd67c2367651380d00d126e4229631fd03f8ff35eef1a61e3c)

Как мы знаем значение сигнатуры "R" это и есть публичный ключ от секретного ключа (Nonce)

Взгляните на Blockchain транзакцию: 11e6b169701a9047f3ddbb9bc4d4ab1a148c430ba4a5929764e97e76031f4ee3

RawTX:

0100000001afddd5c9f05bd937b24a761606581c0cddd6696e05a25871279f75b7f6cf891f250000005f3c303902153b78ce563f89a0ed9414f5aa28ad0d96d6795f9c6302200a963d693c008f0f8016cfc7861c7f5d8c4e11e11725f8be747bb77d8755f1b8012103151033d660dc0ef657f379065cab49932ce4fb626d92e50d4194e026328af853ffffffff010000000000000000016a00000000

Размер этой транзакции всего лишь: 156 байт

Как можно восстановить Биткоин Кошелек через короткие подписи ECDSA?

В криптоанализе блокчейна криптовалюты Bitcoin мы используем собственный Bash-скрипт: btcrecover.sh

Читать далее
Total votes 14: ↑13 and ↓1 +12
Comments 1

Event-driven архитектура в Kubernetes

Reading time 10 min
Views 3K

Kubernetes, как система оркестрации, позволяет автоматизировать процесс развертывания сложных приложений и восстанавливать ожидаемое состояние кластера после сбоев. В общем случае приложение представляет собой резидентно запущенные контейнеры, которые обрабатывают запросы клиентов в цикле обработки событий, при этом при росте нагрузки могут создаваться дополнительные реплики (с использованием механизма Horizontal Pod Autoscaling). Однако, нередко бывают случаи, когда сервис используется не очень часто, но при этом в запущенном состоянии он забирает большое количество оперативной памяти или процессорного времени, и желательно обеспечить механизм запуска сервиса по запросу (или по внешнему событию). Для реализации такого варианта использования сейчас доступен инструмент knative, который был принят в марте 2022 года в качестве incubating-проекта в CNCF (Cloud Native Computing Foundation). В этой статье мы разберемся с основными понятиями knative и попробуем создать архитектуру приложения, основанную на событиях, с использованием eventing-возможностей knative.

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

Разделяй и властвуй. Изоляция процессов в Linux

Reading time 13 min
Views 13K

Последнее десятилетие проходило под знаком контейнеризации, появлялись десятки и сотни инструментов для управления контейнерами, создания виртуальных сетей для взаимодействия контейнеров на разных узлах кластера, появлялись системы маршрутизации трафика, мониторинга доступности и иные DevOps-инструменты, которые во многом трансформировали деятельность системных администраторов вплоть до того, что начали появляться сомнения в потребности организаций в администраторах Linux (особенно с учетом появления облачных провайдеров, предоставляющих как среды для запуска контейнеров в Kubernetes, так и полностью настроенные и управляемые сервисы баз данных, очередей, систем для накопления и анализа логов и т.п.). Но нередко возникают ситуации, когда нужно осуществить некоторый уровень изоляции или ограничения уже запущенных процессов и для этого можно использовать возможности control groups ядра Linux, которые также лежат в основе технологий контейнеризации Docker и LXC. В этой статье мы последовательно разберем возможности cgroups, обсудим отличия новой cgroups v2 и затронем тему контейнеризации на основе Linux Containers. Да пребудет с вами безопасное окружение выполнения.

Читать далее
Total votes 23: ↑20 and ↓3 +17
Comments 1

Программирование DeFi: Uniswap. Часть 3

Reading time 6 min
Views 6.1K

Мы продолжаем создавать клон Uniswap V1!

Наша реализация почти готова: мы реализовали все основные механики смарт-контракта Биржи, включая функции ценообразования, обмена, выпуска LP-токенов и сбора комиссии. Похоже, что наш клон завершен, однако нам не хватает смарт-контракта Фабрики.

Сегодня мы реализуем его и наш клон Uniswap V1 будет завершен.

Читать далее
Total votes 5: ↑4 and ↓1 +3
Comments 3

Шифрование TLS-трафика по алгоритмам ГОСТ-2012 c Stunnel

Reading time 5 min
Views 20K

В этой статье я хочу показать, как настроить Stunnel на использование российских криптографических алгоритмов в протоколе TLS. В качестве бонуса покажу, как шифровать TLS-канал, используя алгоритмы ГОСТ, реализованные в криптоядре Рутокен ЭЦП 2.0.


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

Читать дальше →
Total votes 7: ↑6 and ↓1 +5
Comments 2

Becoming a web security expert, или Как я готовился и сдавал OSWE

Reading time 9 min
Views 5.6K

Привет, Хабр! Меня зовут @killinem, и я работаю ведущим экспертом отдела анализа защищенности компании Angara Security. В этом посте я хочу рассказать о своем опыте прохождение курса AWAE и сдачи экзамена OSWE от Offensive Security. Это, пожалуй, ведущая на текущий момент международная сертификация, подтверждающая навыки и знания в области практического анализа защищенности веб-приложений.

В этом посте я расскажу:

* какие знания и скиллы нужны для сдачи экзамена,

* как к нему готовился лично я,

* о процессе прохождения самого экзамена,

* является ли сертификат пунктом, после которого можно сказать «я знаю о веб-хакинге все».

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

Разбираем алгоритмы компьютерной графики. Часть 5 – Анимация «Shade Bobs»

Reading time 4 min
Views 3.6K

Алгоритм, который рассмотрим сегодня, не имеет нормального названия. Иногда его называют "Shade Bobs", а вообще это один из многочисленных алгоритмов генерации "плазмы". Когда что-то на экране видоизменяется и переливается.

Из множества алгоритмов "плазм", представленный экземпляр самый элементарный.

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

Криптографические атаки: объяснение для смятённых умов

Reading time 33 min
Views 52K
При слове «криптография» некоторые вспоминают свой пароль WiFi, зелёный замочек рядом с адресом любимого сайта и то, как трудно залезть в чужую почту. Другие вспоминают череду уязвимостей последних лет с говорящими аббревиатурами (DROWN, FREAK, POODLE...), стильными логотипами и предупреждением срочно обновить браузер.

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

За последние годы коллекция криптографических атак превратилась в зоопарк кричащих логотипов, набитых формулами научных статей и породила общее мрачное ощущение, что всё сломано. Но на самом деле многие из атак основаны на нескольких общих принципах, а бесконечные страницы формул часто сводятся к простым для понимания идеям.
Читать дальше →
Total votes 103: ↑103 and ↓0 +103
Comments 22

Information

Rating
Does not participate
Location
Самара, Самарская обл., Россия
Date of birth
Registered
Activity