Pull to refresh
315
147
Владимир @Firemoon

Пользователь

Send message

Сколько стоит содержать виртуальную девушку? Создаем подругу, записывающую кружочки в Telegram, с помощью 4 нейросетей

Level of difficultyMedium
Reading time18 min
Views50K

Не так давно в интернете появилась душещипательная история, как пользователь hackdaddy8000 сперва создал виртуальную девушку, а затем усыпил ее. Моральный и мемный аспект этого события обсуждали в комментариях под новостями.

Поговорим о технической стороне. Как повторить этот шедевр и можно ли обойтись без сервисов OpenAI, которые сложно оплатить в России? И главное — сколько придется инвестировать в виртуальную подругу.
Читать дальше →
Total votes 96: ↑91 and ↓5+111
Comments65

SD – это Linux, а Midjourney – Mac: краткое полное руководство по Stable Diffusion

Reading time13 min
Views77K
Вот таких тирекс-тянок выдает нейросеть

Текст про Midjourney привлек внимание, и в комментариях наметилась дискуссия про Stable Diffusion. Аргументы убедили меня попробовать SD самостоятельно, но вскоре я понял, что это не самая простая задача. Сообщество любителей Stable Diffusion произвело на свет множество удобных инструментов, которые своим количеством и сложностью могут отпугнуть новичков.

Всю неделю, что я экспериментировал с нейросетью, я боролся с желанием SD добавлять вторичные гендерные признаки по моим запросам и грустил, смотря на результаты генерации котиков. О своих страданиях частично писал в личном Telegram-канале — подписывайтесь! В этом же тексте — собрал основные советы по работе со Stable Diffusion и подвел итог, сравнив эту нейросеть с Midjourney.
Читать дальше →
Total votes 84: ↑83 and ↓1+104
Comments53

Как быстро растут сети: прогресс Midjourney спустя полгода

Reading time11 min
Views60K
Запрос stars world time 27 июня и спустя полгода.

«100500-ый текст про Midjourney», — подумал сейчас кто-то. Справедливости ради, шумиха вокруг нейросети немного поутихла, а работа над Midjourney — нет. Сейчас доступна четвертая версия генератора картинок, и если вы еще его не тестировали — самое время.

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

Если и это вам бесполезно, то под катом много красивых и смешных картинок — котов и «горячих собак».
Читать дальше →
Total votes 117: ↑115 and ↓2+144
Comments68

Локализуем игру в слова с искусственным интеллектом

Reading time8 min
Views23K
Даже на русском языке игра не самая простая

Все началось с коллеги, который закинул в локальный чат сообщение, что он сыграл в игру #59 и угадал слово с 33 попыток и одной подсказки. Игра оказалась простая и сложная одновременно: сайт загадал слово и нужно его отгадать. В поле ввода отправляешь слово, а искусственный интеллект на сайте определяет, насколько отправленное слово близко по смыслу к загаданному.

Интересная игра, тренирующая ассоциативное мышление и умение строить связи. Новое слово появляется каждый день, что в некотором смысле выглядит ограничителем. Также игра доступна только на португальском и английском языках. С одной стороны, это дополнительная практика, а с другой — сомнения «а знаю ли я это слово?» смазывают впечатления от игры.

Так я задумался о локализации игры на русский язык. Свою игру «Русо контексто» я разместил на объектном хранилище, которое более устойчиво примет читателей Хабра.
Читать дальше →
Total votes 57: ↑57 and ↓0+57
Comments40

Паттерны взаимодействия с ботами в Telegram: неочевидные практики на Python и баг в мессенджере

Reading time7 min
Views21K

Я часто взаимодействую с ботами в Telegram. Чаще как пользователь, но создать собственного бота или потрогать чужого я не боюсь. При разработке собственного решения чувствуется, что бот не похож на GUI- или веб-приложение, но программисты тщательно превозмогают это чувство и делают так, как проще с точки зрения программирования.

В этой статье я расскажу про некоторые способы взаимодействия человека и бота в личных сообщениях и группах. Текст рассчитан на тех, кто только начинает изучать тему создания ботов, но, возможно, будет полезен и профессионалам.
Читать дальше →
Total votes 41: ↑38 and ↓3+44
Comments6

Подбираем скины в Counter-Strike: Global Offensive в цвет сумочки

Reading time8 min
Views7.1K

Многопользовательская Counter-Strike: Global Offensive наполнена различными раскрасками для оружия разной степени редкости и привлекательности. Некоторые игроки гонятся за уникальными скинами, а другие выбирают на основе субъективного вкуса. Помимо официальной торговой площадки Steam, скины можно купить на сторонних ресурсах, доверие к которым невелико. Но в обоих случаях нет фильтра по цвету.

Вручную перебирать все варианты раскраски для всех видов вооружений очень долго. К счастью, проблему можно автоматизировать. В статье я покажу, как извлечь необходимые ресурсы из игры, и еще раз поговорю про сложность определения схожести цветов.
Читать дальше →
Total votes 39: ↑36 and ↓3+43
Comments9

Делаем тетрис в QR-коде, который работает

Reading time5 min
Views15K
Не просто тетрис, но и совершенно рабочий QR-код. Потестите!

Впервые такой QR-тетрис я увидел на канале linkmeup. Приложенный QR-код не читался, и авторы не удостоили его комментарием. Решил, что это повод разобраться в основах самому и предложить улучшенный вариант — не просто веселую, но и функциональную пикчу.
Читать дальше →
Total votes 76: ↑74 and ↓2+96
Comments3

Делаем радио из Cyberpunk 2077

Reading time10 min
Views14K

Я не ждал Cyberpunk 2077 десять лет, я даже не смотрел презентации на Е3 и трейлеров, а переносы меня не огорчали — мой компьютер все равно не удовлетворял системным требованиям. Так уж произошло, что через два месяца после релиза я обновил компьютер, а друг подарил мне цифровую копию игры.

С первых часов я проникся миром игры, противоречивым и жестоким, но по-своему красивым и привлекательным. Я наиграл уже более двух сотен часов, разведал, кажется, каждый уголок, пока выход сюжетных DLC задерживается. Значит, есть время «перенести» технику из игры в реальную жизнь. Я давно хотел сделать интернет-радио…
Читать дальше →
Total votes 45: ↑43 and ↓2+54
Comments10

Утилита времен «динозавров»: история системного вызова chroot и его применение в современности

Reading time13 min
Views26K

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

Этот простой системный вызов подменяет местонахождение «корня» файловой системы, «заключая» программу в специально созданное ограниченное окружение. Самая распространенная ситуация — восстановление загрузки операционной системы с помощью live-образа. Но при создании chroot о таком применении не задумывались.

Чтобы найти истоки появления chroot в *NIX-подобных операционных системах, нужно пройти немалый путь по истории IT. В этой статье я расскажу про появление chroot и его применение в современном мире. А еще покажу проекты, которые позволяют прикоснуться к операционным системам эпохи, когда Интернета не было.
Читать дальше →
Total votes 83: ↑82 and ↓1+105
Comments8

Транзакционное юнит-тестирование приложений с БД

Reading time6 min
Views8.7K

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

В этой статье я хочу провести обзор разных способов юнит-тестирования приложения с БД и рассказать о способе, который я не видел в русскоязычном сегменте интернета. Статья будет посвящена Python 3, pytest и ORM-фреймворку SQLAlchemy, но методы переносимы на другие инструменты.
Читать дальше →
Total votes 44: ↑44 and ↓0+44
Comments28

Фонд золотых цитат: как сгенерировать стикеры из сообщений в Telegram

Reading time8 min
Views23K

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

Схема рабочая, но напрашивается идея минимизировать количество пересылок. Тем более, что в Telegram существуют боты, создающие пользовательские стикерпаки. Рассказываю, как сделать такого бота без лишних телодвижений, и даю свое творение на тест. Если не хотите запариваться с созданием бота, но не против запечатлеть парочку своих золотых цитат для потомков, — прошу под кат.
Читать дальше →
Total votes 34: ↑33 and ↓1+42
Comments7

Самоделка — полная…: ПХМ-1 из пластика и кремния

Reading time8 min
Views31K
Источник

ПХМ-1 — вымышленный прибор из лаборатории Доктора Дью. Он предназначен для измерения качества присланных «самоделок» по линейной шкале. Очевидно, что это реквизит для съемок, тем не менее, устройство можно использовать в качестве шутки во многих областях, в том числе в IT.

Пошаговых инструкций по созданию ПХМ-1 не нашлось — пришлось писать самому.
Читать дальше →
Total votes 55: ↑51 and ↓4+63
Comments27

Низкоуровневое обнаружение Wi-Fi устройств в домашней сети

Reading time10 min
Views23K

Чтобы сделать собственное уникальное устройство для «умного дома» сейчас достаточно купить микроконтроллер и электронные компоненты. Конечно, на рынке уже есть множество «умных» устройств, но не все производители предоставляют открытое API, и уж точно единицы разрешают (или по крайней мере не запрещают) создавать собственные прошивки. Иногда наступает тот момент, когда кажется, что разработать и запрограммировать собственное устройство будет лучшим решением.

В этой статье я расскажу про несколько способов «‎научить» микроконтроллер распознавать присутствие людей дома исключительно с помощью Wi-Fi.
Читать дальше →
Total votes 51: ↑51 and ↓0+51
Comments21

Возможности интеграции Counter-Strike: Global Offensive

Reading time9 min
Views15K
Image by andytb under license CC BY-SA 2.0
Counter-Strike: Global Offensive — современная версия старой доброй «CS 1.6». За двадцать лет развития серии технологии сильно изменились. Ранее соревнования по CS проходили в конференц-залах, а информация, доступная наблюдателю, была крайне скудна. Сейчас крупные соревнования по Counter-Strike проводятся на огромных стадионах, а количество выводимой на экраны информации зашкаливает.

Мне стало интересно, как организован экспорт игрового состояния в сторонние системы, например, для управления сценическим освещением. В этой статье я расскажу про то, как это работает, и покажу, как можно превратить телефон на Android в устройство вывода игрового состояния.
Читать дальше →
Total votes 51: ↑51 and ↓0+51
Comments7

Разбираем редкого зверя от Nvidia — DGX A100

Reading time7 min
Views36K

Крупные IT-компании располагают дорогими «игрушками», которые скрыты от взоров большинства пользователей. Сегодня мы приоткроем завесу тайны и расскажем про систему, которая оптимизирована для работы с искусственным интеллектом.

Задачи ИИ предъявляют высокие требования к вычислительным и сетевым ресурсам, поэтому наш сегодняшний «гость» приятно порадует своей конфигурацией. Встречайте: NVIDIA DGX A100.
Читать дальше →
Total votes 51: ↑50 and ↓1+67
Comments31

Et tu, Brute? Что хотят от нас брутфорсеры?

Reading time16 min
Views18K

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

Поверхностный ответ, конечно, прост: наживы на бесплатных вычислительных ресурсах и полученных чувствительных данных. Но этот ответ недостаточно подробный. Давайте разложим виртуальные «приманки» и проследим, что происходит, когда автоматический брутфорс оказывается успешным.
Читать дальше →
Total votes 84: ↑84 and ↓0+84
Comments32

Введение в SSD. Часть 5. Контроллерная

Reading time9 min
Views17K

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

Контроллер современного накопителя — маленький компьютер, который принимает стандартизированные команды и выполняет соответствующие действия с подконтрольным ему хранилищем. При этом внутреннее устройство контроллера может быть любым.
Читать дальше →
Total votes 52: ↑52 and ↓0+52
Comments8

NVIDIA BlueField 2: Эмуляция NVMe

Reading time8 min
Views12K
Источник изображения: NVIDIA
Крупнейшие облачные провайдеры подключают виртуальные накопители к выделенным физическим серверам. Но если заглянуть в ОС сервера, то там будет физический диск с именем провайдера в поле «производитель». Сегодня мы разберем, как это возможно.
Читать дальше →
Total votes 46: ↑45 and ↓1+59
Comments50

Какой предел у предсказателя ветвлений? Проверили на x86 и M1

Reading time13 min
Views35K

Некоторое время назад я смотрел на высоконагруженную часть кода и обратил внимание на это:

if (debug) {
    log("...");
}

И тут я задумался. Это — часть цикла, от которого требуется высокая производительность, но этот фрагмент выглядит как пустая трата времени, ведь мы никогда не устанавливаем флаг отладки. Нормально ли иметь в коде условные операторы, которые никогда не выполняются? Уверен, это влияет на производительность программы…
Читать дальше →
Total votes 113: ↑111 and ↓2+149
Comments91

ARMv9: в чем преимущество?

Reading time18 min
Views28K

Что такое масштабируемые векторные расширения (Scalable Vector Extension)? Что они значат для индустрии и пользователей?

Если вы пользуетесь мобильным телефоном, то скорее вы знаете, что такое процессор ARM. Он является сердцем вашего смартфона, а недавно появился в новом поколении Mac. Процессоры ARM также появляются в серверах.

Мы находимся на пороге серьезных изменений в индустрии, которых не происходило уже несколько десятилетий. x86 доминирует в компьютерной индустрии уже продолжительное время, но активное развитие ARM, вероятно, станет серьезной проблемой для x86.

В этом году ARM выпустила архитектуру следующего поколения, которая задаст курс отрасли на следующее десятилетие, — ARMv9. Это важное событие, которое заслуживает пристального внимания.
Читать дальше →
Total votes 62: ↑57 and ↓5+68
Comments40

Information

Rating
27-th
Location
Челябинск, Челябинская обл., Россия
Works in
Date of birth
Registered
Activity

Specialization

Backend Developer
Middle
Python
Flask
SQLalchemy
Bash
C