Pull to refresh
20
0.7

User

Send message

Герой нашего времени

Reading time3 min
Views12K

На Хабре есть такая штука, как рейтинг авторов. Ну то есть формально это рейтинг пользователей, но в реальности вряд ли в него сможет попасть даже супер-активный читатель. Так что остаются только авторы.
В списке много прославленных имён, но нас сейчас интересует самое первое. Чемпион Хабра. Тот автор, чьи работы посетители сочли самыми интересными, самыми полезными, самыми результативными. Я предлагаю познакомиться с ним поближе. К сожалению, мы не так много знаем о нём. Даже реального фото у меня нет, так что пришлось немного пофантазировать вместе с нейросетью Кандинский.


Читать дальше →
Total votes 71: ↑63 and ↓8+74
Comments134

Анонимный мессенджер — обязательный стандарт для каждого человека

Reading time8 min
Views56K


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

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

Поэтому анонимное средство коммуникаций с надёжным шифрованием — это обязательный стандарт для нормального человека. Телеграм с секретными чатами — не самый лучший вариант. Чтобы гарантировать подобие анонимности, там нужно совершить ряд необязательных действий, включая покупку виртуального номера за TON'ы (сначала нужно купить эти TON'ы, что тоже нетривиальная процедура).

Спрашивается, зачем нужен виртуальный номер, если можно реализовать регистрацию вообще без номера, как в нормальных анонимных мессенджерах?
Читать дальше →
Total votes 72: ↑59 and ↓13+64
Comments256

Хороший ретрай, плохой ретрай, или История одного падения

Level of difficultyMedium
Reading time17 min
Views48K

Порой простое и очевидное решение может потянуть за собой хвост проблем в будущем. Например, добавление ретраев.

Меня зовут Денис Исаев, и я работаю в Яндекс Go. Сегодня я поделюсь опытом решения проблем с отказоустойчивостью из-за ретраев. Основано на реальных инцидентах в системе из 800 микросервисов.

Этот пост — продолжение вымышленных историй о разработчике Васе, который несколько лет назад разбирался с идемпотентностью в распределённых системах. Теперь перед ним новые задачи — получится ли справиться с ними в этот раз? Давайте узнаем.

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

Электросмачивание как интересный эффект для применения в самоделках и не только

Level of difficultyMedium
Reading time10 min
Views9.5K
Картинка — youtube-канал GaudiLabs, University of Cincinnati, Etulipa, Image Sensors World

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

Сфера применения этого эффекта весьма широка и позволяет использовать его как профессиональных целей, так и для разнообразных самоделок.
Читать дальше →
Total votes 59: ↑58 and ↓1+84
Comments10

Типизированные eDSL на Go

Level of difficultyMedium
Reading time6 min
Views1.9K

В статье показано, как реализовать встраиваемый типизированный DSL на Go. Рассматриваемое представление будет типобезопасным, т.е. не позволит сконструировать некорректные выражения (термы), но допускает разные интерпретации выражений. Система типов DSL один-к-одному маппится на систему типов Go, поэтому весь type-checking производится компилятором.

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

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

Распределенные транзакции для самых маленьких

Level of difficultyEasy
Reading time8 min
Views14K

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

Читать далее
Total votes 18: ↑14 and ↓4+15
Comments10

Математика надёжности. Доклад Яндекса

Level of difficultyEasy
Reading time18 min
Views13K

Вадим Мартынов, руководитель команды платформы надёжности в Яндекс Go, в своём докладе рассказал, как влияют те или иные решения на надёжность системы и как это учитывать при разработке.

Читать далее
Total votes 76: ↑72 and ↓4+85
Comments28

Управление личными делами в Obsidian (прототип)

Level of difficultyHard
Reading time27 min
Views23K

В статье будет показан прототип системы дел, который реализован в Obsidian. Система в основном будет базироваться на идеях GTD.

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

Система будет адаптирована для телефонов.

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

Задачи и Obsidian? Звучит интересно!
Total votes 13: ↑11 and ↓2+11
Comments11

Анализ негативных комментариев TRUE CRIME

Level of difficultyMedium
Reading time10 min
Views3.2K

Привет! Я тут активно пытаюсь охватить разные области в сфере Data Science и решила, что было бы классно покопаться c обработкой естественного языка (NLP) на примере комментариев YouTube. Так как после работы я часто смотрю видео Саши Сулим, я задалась вопросом: "Интересно, а есть ли различия в оценке зрителями видео про маньяков в зависимости от пола!? Или нам не важно, кто был убийцей - мужчина/женщина?"

Так я пришла к тому, что могу взять задачку классификации комментариев по оценке их негативности в качестве pet-проекта. То, насколько это получилось, предлагаю оценить вам.

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

Библиотека nalgebra в Rust

Reading time5 min
Views2.5K

Линейная алгебра сейчас применяется практические везде. В связс с этим сегодня рассмотрим одну из библиотек для Rust — nalgebra.

Основная цель nalgebra — предоставить инструмент для работы с линейной алгеброй.

Читать далее
Total votes 11: ↑9 and ↓2+11
Comments1

Об одном интересном свойстве триангуляции Делоне

Level of difficultyMedium
Reading time7 min
Views7.8K

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

Свойство: Если какой‑то отрезок AB не включен в триангуляцию Делоне, то существует путь из A в B по отрезкам из триангуляции, такой что каждый из отрезков в нем не длиннее |AB|. На картинке выше отсутствующий отрезок показан красным цветом, а путь — зеленым цветом.

Дальше в статье я приведу пример его использования в задачах, а также формальное его доказательство.

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

Читать далее
Total votes 41: ↑40 and ↓1+51
Comments6

Как управлять миром шестиугольных призм на GPU

Reading time20 min
Views6.9K


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


Как и зачем я это сделал, и как дошёл до жизни такой, я поведаю в этой статье.


Внимание, в статье есть много скриншотов!

Читать дальше →
Total votes 42: ↑42 and ↓0+52
Comments26

Дайте мне 15 минут, и я изменю ваш взгляд на GDB

Level of difficultyMedium
Reading time6 min
Views15K

Материал подготовлен на основе выступления с CppCon 2015 "Greg Law: Give me 15 minutes & I'll change your view of GDB" (доступно по ссылке ). Многие моменты я изменял и корректировал, поэтому учтите, что перевод достаточно вольный.

И да, вынесем за скобки вопрос о том, насколько GDB в целом удобная или неудобная программа, и что в принципе лучше использовать для дебаггинга: в данной статье будет рассматриваться именно работа с GDB.

В статье будет рассматриваться отладка кода на C в ОС Linux.

Читать далее
Total votes 47: ↑45 and ↓2+63
Comments16

Реверс-инжиниринг eBPF-программы на примере сокет-фильтра и уязвимости CVE-2018-18445

Reading time7 min
Views1.9K

Привет! Меня зовут Евгений Биричевский, в Positive Technologies я работаю в отделе обнаружения вредоносного ПО экспертного центра безопасности (PT ESC). Не так давно исследователи из Black Lotus Labs рассматривали несколько образцов 2018 года — elevator.elf и bpf.test. Пускай образцы и старые, но они используют уязвимости в eBPF, что происходит крайне редко: такие случаи можно практически пересчитать по пальцам.

Исследователи достаточно подробно описали общие функции и особенности ВПО, отметили запуск и использование eBPF-программ, но практически не описали сами eBPF-программы. Мне это показалось значительным упущением, ведь крайне редко удается пощупать in the wild использование уязвимостей в eBPF. Основываясь на дате появления образца и его поведении, исследователи предположили, что используется CVE-2018-18445. В этой статье мы научимся анализировать eBPF, достаточно подробно разберем используемые eBPF-программы, а также подтвердим или опровергнем гипотезу об использовании CVE-2018-18445.

Вперед
Total votes 12: ↑12 and ↓0+14
Comments0

Рисуем фракталы на Rust и CUDA

Level of difficultyMedium
Reading time14 min
Views9.1K

Фракталы — это бесконечные самоподобные фигуры. Они определяются простыми математическими формулами, которые создают удивительную красоту!

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

Читать далее
Total votes 31: ↑31 and ↓0+36
Comments71

Поговорим о зеркалировании трафика с помощью VxLAN

Reading time6 min
Views5.2K

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

Сетевикам необходимо анализировать трафик для выявления различных аномалий: полуоткрытых соединений, ретрансмитов, потерь пакетов.

Читать далее
Total votes 8: ↑7 and ↓1+10
Comments4

SDR приемник GPS на микроконтроллере

Level of difficultyMedium
Reading time28 min
Views25K

В этой статье я расскажу о том, как я делал самодельный SDR GPS приемник на микроконтроллере. SDR в данном случае означает, что приемник не содержит готовых GPS-модулей или специализированных микросхем для обработки GPS сигналов - вся обработка "сырых" данных выполняется в реальном времени на микроконтроллере (STM32 или ESP32).
Зачем я это сделал — просто Just for fun, плюс - получение опыта.

Читать далее
Total votes 128: ↑127 and ↓1+160
Comments282

Метод конечных элементов своими руками

Level of difficultyMedium
Reading time9 min
Views21K

Метод конечных элементов (МКЭ) применяют в задачах упругости, теплопередачи, гидродинамики — всюду, где нужно как-то дискретизировать и решить уравнения сплошной среды или поля. На Хабре было множество статей с красивыми картинками о том, в каких отраслях и с помощью каких программ этот метод приносит пользу. Однако мало кто пытался объяснить МКЭ от самых основ, с простенькой учебной реализацией, желательно без упоминания частных производных через каждое слово.

Мы напишем МКЭ для расчёта упругой двумерной пластины на прочность и жёсткость. Код займёт 1200 строк. Туда войдёт всё: интерактивный редактор, разбиение модели на треугольные элементы, вычисление напряжений и деформаций, визуализация результата. Ни одна часть алгоритма не спрячется от нас в недрах MATLAB или NumPy. Код будет ужасно неоптимальным, но максимально ясным.

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

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

Как работают трансформеры: разбираем математику

Level of difficultyMedium
Reading time28 min
Views21K

В этом посте я представлю подробный пример математики, используемой внутри модели трансформера, чтобы вы получили хорошее представление о работе модели. Чтобы пост был понятным, я многое упрощу. Мы будем выполнять довольно много вычислений вручную, поэтому снизим размерность модели. Например, вместо эмбеддингов из 512 значений мы используем эмбеддинги из 4 значений. Это позволит упростить понимание вычислений. Мы используем произвольные векторы и матрицы, но при желании вы можете выбрать собственные значения.

Как вы увидите, математика модели не так уж сложна. Сложность возникает из-за количества этапов и количества параметров. Перед прочтением этой статьи я рекомендую прочитать пост Illustrated Transformer (или читать их параллельно) [перевод на Хабре]. Это отличный пост, объясняющий модель трансформера интуитивным (и наглядным!) образом, поэтому я не буду объяснять то, что уже объяснено в нём. Моя цель заключается в том, чтобы объяснить, как работает модель трансформера, а не что это такое. Если вы хотите углубиться в подробности, то изучите известную статью Attention is all you need [перевод на Хабре: первая и вторая части].

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

Затыкаем рот Windows 10

Level of difficultyHard
Reading time33 min
Views114K


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

Однако жизнь сложная штука и не ограничивается только стандартными вариантами. Существуют ситуации, когда подобная сетевая активность операционной системы (ОС) нежелательна и даже вредна. За примерами далеко ходить не надо. Попробуйте подключить к Интернету давно не используемый резервный компьютер, собранный на старом железе. Пока софт на нём не обновится, использовать его будет практически невозможно, всё будет дико тормозить и еле шевелиться. А если вам в этот момент нужно срочно что-то сделать?

Для того чтобы подобного не происходило, необходимо «заткнуть рот Windows», то есть сделать так, чтобы она самостоятельно перестала «стучаться» в Интернет, устанавливать обновления и заниматься прочими непотребствами. Вот именно этим мы с вами и займёмся.
Читать дальше →
Total votes 170: ↑160 and ↓10+196
Comments309
1
23 ...

Information

Rating
1,769-th
Registered
Activity