Как стать автором
Обновить
2229.9
RUVDS.com
VDS/VPS-хостинг. Скидка 15% по коду HABR15
Сначала показывать

Битва русов и ящеров за воду Байкала: как пародия на неоязычество покорила Рунет, и при чём тут доктор Ливси?

Уровень сложности Простой
Время на прочтение 10 мин
Количество просмотров 2.1K
Ретроспектива

В конце 2023 года русскоязычные соцсети внезапно заполонили мемы про древних русов и ящеров. Виной всему стали видеолекции сгененированного с помощью нейросетей «профессора Багирова», в которых байки конспирологов-неоязычников о «тайной истории Руси» доводились до восхитительного абсурда. Пранк вышел из-под контроля: как про Медведа в старые добрые времена, про мемы оящерах и русах стали писать крупные федеральные порталы и модные журналы, а теперь энтузиасты ещё и игру анонсировали. Почему русы и ящеры так «зашли» именно сейчас, что именно и как они стебут, и чем оказались так интересны и симпатичны аудитории Рунета?
Читать дальше →
Всего голосов 20: ↑15 и ↓5 +10
Комментарии 14

Полезные ссылки

Автоматизация бурления: ChipArp

Уровень сложности Средний
Время на прочтение 12 мин
Количество просмотров 3.2K
Всего голосов 69: ↑69 и ↓0 +69
Комментарии 5

RGB-усилители. Особенности, проблемы, выбор

Уровень сложности Простой
Время на прочтение 6 мин
Количество просмотров 9.2K
Всего голосов 59: ↑59 и ↓0 +59
Комментарии 16

Форматирование текста на C++ старым и новым способом

Уровень сложности Средний
Время на прочтение 8 мин
Количество просмотров 4.9K
Туториал
Перевод

Форматирование текста на C++ можно реализовать несколькими способами:

  • потоками ввода-вывода. В частности, через std::stringstream с помощью потоковых операций (таких как operator <<);
  • функциями printf, в частности sprintf;
  • с помощью библиотеки форматирования C++20, в частности std::format / std::format_to;
  • с помощью сторонней библиотеки, в частности {fmt} (основа новой стандартной библиотеки форматирования).

Первые два варианта представляют старые способы. Библиотека форматирования, очевидно, является новым. Но какой из них лучше в плане производительности? Это я и решил выяснить.
Читать дальше →
Всего голосов 38: ↑36 и ↓2 +34
Комментарии 10

Жирный гитарный дисторшн ProCo RAT

Уровень сложности Простой
Время на прочтение 8 мин
Количество просмотров 2.6K
Ретроспектива

Привет, Хабр! Знаете, какую педаль перегруза использовали Джеймс Хетфилд и Кирк Хэмметт в дебютном альбоме Металлики «Kill `Em All»? Пользовались ею и Дэвид Гилмор, и Крист Новоселич из группы Нирвана, да и сам Курт Кобейн. И многие другие.

Сегодня мы изучим и соберём педаль, которая успешно продаётся в течение 46 лет. Не только по той причине, что через неё играли знаменитости, но и потому, что она действительно создаёт настоящий классический дисторшн.
И всё-таки, чем дистршн отличается от овердрайва?
Всего голосов 33: ↑32 и ↓1 +31
Комментарии 2

Правда ли, что при расширении Вселенной энергия не сохраняется?

Уровень сложности Средний
Время на прочтение 10 мин
Количество просмотров 8.8K
Обзор

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

Любому наблюдателю из любой части Вселенной покажется, что все галактики, кроме ближайших друг к другу (связанных гравитацией), удаляются со скоростями, в среднем пропорциональными их расстоянию от наблюдателя. Хотя объекты не могут двигаться быстрее света, это ограничение действует только для локальных систем отсчёта и не ограничивает скорости рецессии космологически удалённых объектов – в данном случае между ними появляется дополнительное пространство.

Космическое расширение является ключевой характеристикой космологии Большого взрыва. Математически оно может быть смоделировано с помощью метрики Фридмана-Леметра-Робертсона-Уокера, где оно соответствует увеличению масштаба пространственной части метрики пространства-времени Вселенной (которая определяет размер и геометрию пространства-времени). В этих рамках стационарные объекты со временем разбегаются друг от друга, поскольку пространство расширяется. Это представить ещё сложнее, но в рамках этой метрики можно принять эквивалентное расширению Вселенной описание, при котором пространство не расширяется, а объекты просто раздвигаются друг от друга.
Читать дальше →
Всего голосов 40: ↑39 и ↓1 +38
Комментарии 22

Робототехнические манипуляторы с компьютерным зрением

Уровень сложности Простой
Время на прочтение 8 мин
Количество просмотров 2.7K
Аналитика
Картинка Freepik

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

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

Читать дальше →
Всего голосов 30: ↑30 и ↓0 +30
Комментарии 3

Простой способ компрометации приватных ключей при помощи SSH-Agent

Уровень сложности Средний
Время на прочтение 8 мин
Количество просмотров 4.1K
Кейс
Перевод

Введение


Однажды я просматривал видео из закладок и решил запустить AASLR: Leveraging SSH Keys for Lateral Movement Хэла Померанца. Примерно на середине видео я захотел начать заново и открыл заметки, чтобы документировать полученную информацию, потому что это был очень интересный материал, которого я не видел раньше. Воспользовавшись этой информацией как фундаментом, я начал искать другие способы применения утилиты ssh-agent и решил создать демо в своей домашней лаборатории. В этом посте я расскажу о своих открытиях.
Читать дальше →
Всего голосов 41: ↑39 и ↓2 +37
Комментарии 12

Почему на новые SSD ставят вентиляторы. Термотроттлинг

Уровень сложности Простой
Время на прочтение 6 мин
Количество просмотров 12K
Аналитика
ineo M.2 2280 SSD Rocket Heatsink с вентилятором, источник

Динамический термотроттлинг — функция современных SSD, когда контроллер специально замедляет/приостанавливает свою работу, чтобы снизить температуру ячеек памяти NAND. Он делает это ради сохранения данных, чтобы накопитель не перегрелся и не сработали контуры отключения питания.

С каждым поколением PCIe пропускная способность линий PCIe обычно удваивается. В PCIe 4.0 скорость SSD приближалась к теоретическому максимуму 8 ГБ/с. Сегодня SSD PCIe Gen 5.0 x4 разгоняются до 10−14 ГБ/с, при этом сильно нагревается контроллер (неудивительно, что эти микросхемы вообще долго не живут).
Читать дальше →
Всего голосов 47: ↑45 и ↓2 +43
Комментарии 21

Очередной ответ на вопрос: «Зачем нужна семантика?»

Уровень сложности Средний
Время на прочтение 7 мин
Количество просмотров 2.7K
Аналитика

Этот вопрос преследует меня всю мою карьеру, начиная с 2013 года. Одни разработчики отвечают, потому что так правильно. Другие говорят про SEO. Третьи — ничего не говорят. А я считаю, что атрибут role является отличным ответом на этот вопрос!

Читать дальше →
Всего голосов 30: ↑30 и ↓0 +30
Комментарии 0

Собственный строковый тип на Rust

Уровень сложности Средний
Время на прочтение 14 мин
Количество просмотров 5.1K
Туториал
Перевод

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

pub enum Expr<'src> {
  Int(u32)
  Ident(&'src str),
  // ...
}

Когда мы парсим идентификатор, то вместо копирования его названия в новую String мы заимствуем его из входной исходной строки. Это позволяет избежать дополнительных распределений, дополнительного копирования и экономит слово на представлении данных. Компиляторы могут быть очень требовательны к памяти, поэтому стоит выбирать краткое представление.
Читать дальше →
Всего голосов 50: ↑49 и ↓1 +48
Комментарии 5

Собственная копия YouTube

Уровень сложности Средний
Время на прочтение 7 мин
Количество просмотров 28K
Обзор


Мы уже обсуждали, как удобнее всего скачивать видео с YouTube для дальнейшего просмотра и хранения. Но если коллекция файлов становится слишком большой, то нужно их как-то организовать: по темам или тегам, по каналам, категориям, чтобы быстро найти нужный видеоролик. И желательно настроить сервер так, чтобы раздавать это видео по локальной сети или через интернет.

В итоге получается, что мы делаем нечто вроде маленькой копии YouTube, только на своём сервере. В определённом смысле это архивная копия на случай удаления видеоконтента из-за цензуры YouTube. Или на случай, если серверы YouTube станут недоступны с территории РФ из-за какого-то «технического сбоя».
Читать дальше →
Всего голосов 85: ↑84 и ↓1 +83
Комментарии 72

Разбираем формат EXIF на примере Apple Photos

Уровень сложности Средний
Время на прочтение 11 мин
Количество просмотров 4.9K
Туториал
Перевод

В этой статье мы познакомимся с форматом EXIF и узнаем, какую информацию содержат метаданные фотографий, как эту информацию можно получить, и каким образом использовать. В качестве примера будем использовать фототеку, управляемую с помощью Apple Photos.
Читать дальше →
Всего голосов 44: ↑42 и ↓2 +40
Комментарии 5

Альтер эго. Как создать виртуальную личность и распознать фейк

Уровень сложности Простой
Время на прочтение 11 мин
Количество просмотров 13K
Кейс


Я люблю общаться с ботами и владельцами фейковых аккаунтов в социальных сетях. В большинстве случаев они довольно милые и относительно безобидные. Порой даже интересно угадывать, что именно они попытаются впарить мне в очередной раз: тотализаторы, БАДы, лохотрон с криптой или недвижимость в Дубае? На днях я несколько часов обстоятельно общался с одной обаятельной девушкой, пока по ряду характерных признаков не убедился в том, что этот аккаунт — тоже фейковый. Признаюсь, раскусить подделку в этот раз было непросто: создатели липовых учёток научились придавать им определённую правдоподобность. Любопытства ради я захотел разузнать, как сейчас создаются виртуальные личности, какой софт и технологии для этого используются и существуют ли способы с ходу определить, что перед тобой не живой человек, а подделка?
Читать дальше →
Всего голосов 55: ↑53 и ↓2 +51
Комментарии 23

История компьютерных стратегий. Часть 10. «Age of Mythology»: древние боги, шогготы и рептилоиды в одном флаконе

Уровень сложности Простой
Время на прочтение 8 мин
Количество просмотров 5K
Ретроспектива

Как несложно догадаться, успех первой «Age of Empires» сподвиг её создателей, Ensemble Studios, развивать тему исторических RTS дальше. Следом появилась посвящённая средневековью «Age of Empires II», ставшая главным хитом серии и по сей день имеющая массу поклонников и активных игроков. Однако параллельно в недрах студии возникло желание поэкспериментировать с концепцией, сделать что-то похожее, но при этом совсем иное. Это стремление не породило мегахитов и прорывов — но оставило в истории RTS такое яркое и запоминающееся явление, как «Age of Mythology».
Читать дальше →
Всего голосов 53: ↑50 и ↓3 +47
Комментарии 2

Когда парсеры URL-адресов расходятся (CVE-2023-38633)

Уровень сложности Средний
Время на прочтение 9 мин
Количество просмотров 3.7K
Аналитика
Перевод

Обнаружение и разбор уязвимости CVE-2023-38633 в librsvg, заключающейся в ситуации, когда две реализации URL-парсера (Rust и Glib) расходятся в парсинге схемы файла, создавая уязвимость к атаке обхода каталога.
Читать дальше →
Всего голосов 42: ↑42 и ↓0 +42
Комментарии 2

Металлы с памятью формы

Уровень сложности Средний
Время на прочтение 11 мин
Количество просмотров 5.8K
Обзор
Картинка Freepik

Многие слышали об интересном эффекте, который показывают некоторые сплавы, называемые «сплавами с эффектом памяти». После деформации они демонстрируют каучукоподобное поведение: если деформация небольшая, сплавы восстанавливают прежнюю форму при одной и той же температуре, и полностью восстанавливают форму при изменении температуры. Что они собой представляют и чем интересны?
Читать дальше →
Всего голосов 57: ↑57 и ↓0 +57
Комментарии 8

Основы цифровой электроники: дешифраторы и демультиплексоры

Уровень сложности Средний
Время на прочтение 8 мин
Количество просмотров 4.5K
Туториал

Привет, Хабр! Что, если мы имеем цифровой сигнал в одном формате, а нам он нужен в другом?

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

Сегодня мы познакомимся с микросхемами, разработанными как раз на такой случай.
Читать дальше →
Всего голосов 39: ↑38 и ↓1 +37
Комментарии 14

Парольные менеджеры 2023 года: что нового?

Уровень сложности Простой
Время на прочтение 6 мин
Количество просмотров 18K
Обзор


С каждым годом хакеры становятся всё изощреннее в методах отъёма честно нажитого у пользователей интернета. Поэтому нужно всегда быть начеку и заботиться о защите своих персональных данных. Инструменты для этого известны: надёжное шифрование и защищённый парольный менеджер, внутри которого хранятся секреты, а пароль доступа знаете только вы (плюс дополнительная аппаратная защита через 2FA).

Посмотрим, что нового появилось в этой области за последнее время. А посмотреть есть на что.
Читать дальше →
Всего голосов 46: ↑41 и ↓5 +36
Комментарии 90

Proger sapiens

Уровень сложности Простой
Время на прочтение 7 мин
Количество просмотров 5.5K
Мнение
Первым моим знакомым программистом была женщина, которая разрабатывала софт на одном из закрытых предприятий союзной республики. Мне было семь лет и она ассоциировалась у меня с волком из «Ну, погоди», который набивал приветствие на стадионе. Однако любопытство завело семилетку далеко и уже через пару недель я с интересом слушала про ленты и рассматривала перфокарты — она мне их подарила целую стопку, хватило даже в школе на шпаргалки-закладки. Ещё тогда удивило, что к ней не было особого отношения среди взрослых: ну мама троих детей, ну математик. Не врач же, не учитель и не космонавт, в конце концов! 

Читать дальше →
Всего голосов 57: ↑53 и ↓4 +49
Комментарии 17

Визуальное RPG с долговременной памятью, генерируемое из 3 нейросетей и LLamы

Уровень сложности Простой
Время на прочтение 17 мин
Количество просмотров 7.5K
Туториал

Языковые модели (NLP) сейчас активно развиваются и находят себе всё больше интересных применений. Начиналась же их эпоха с классики жанра — D&D. Это настольная игра, где несколько друзей или просто знакомых синхронно галлюцинируют, представляя себя командой героев в некоем вымышленном мире. Прав же во внутриигровых выборах тот, кто выкинул большее число на игральной кости. Судить сейчас об их мотивации у меня нет никакого желания, да и статья вообще-то не об этом.

Важно только понимать, что движущей силой сюжета в их сессиях является лишь один из игроков, называемый Dungeon Master. Когда только начали появляться первые GPT-модели, одной из первых хотелок гиков оказалось желание сварить из нейросетей автоматического Dungeon Masterа.

Так и появился AIDungeon — уникальная для своего времени (2019 год) вещь, которая не сильно потеряла в популярности и по сей день. Однако, если вы любите смотреть глубже, то играть в него вам быстро надоест. Я же в своей серии из нескольких статей (посвящённых GPT) стараюсь показать простому обывателю механизм безболезненного использования нейросетевых моделей в простых проектах при помощи Python и Hugging Face Transformers.
Приступим
Всего голосов 58: ↑58 и ↓0 +58
Комментарии 11

Как я разбирал нестандартный формат 3D-моделей, чтобы показывать Лего у себя на сайте

Уровень сложности Средний
Время на прочтение 7 мин
Количество просмотров 6.5K
Кейс

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

Я перепробовал несколько редакторов 3D-моделей Лего (моим главным условием была работа на Linux, либо в вебе), и остановился на онлайн-редакторе Mecabricks. Но, уже перенеся туда несколько из моих творений, понял, что с задачей «показывать всем друзьям» всё будет сложнее: у Mecabricks довольно скудные возможности экспорта, а его собственный формат с расширением .zmbx понимает только он и его плагин для Blender.

Поэтому я решил посмотреть, как этот формат устроен, и написать свой конвертер во что-то более общепринятое. В качестве целевого формата я выбрал glTF, а инструмент незатейливо назвал zmbx2gltf.

В этой статье я расскажу, как постепенно разбирал этот непонятный .zmbx, про устройство и преимущества glTF как формата передачи 3D-ассетов между разными инструментами, и про то, какие проблемы я решал, конвертируя одно в другое.
Читать дальше →
Всего голосов 79: ↑79 и ↓0 +79
Комментарии 11

Информация

Сайт
ruvds.com
Дата регистрации
Дата основания
Численность
11–30 человек
Местоположение
Россия
Представитель
ruvds