Как стать автором
Обновить
17
0
Алексей Воробьев @avvor

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

Отправить сообщение

Чьи права на то, что сделала нейросеть

Время на прочтение12 мин
Количество просмотров11K
У меня тут возникло несколько смешных юридических коллизий с результатам работы нейросети. Я пошёл к юристу задавать тупые вопросы и получил традиционные ответы «кажется, что вот так, но это не точно».

Тупые вопросы вот:

  • Кому принадлежат права на вывод LLM вроде ChatGPT? Оператору, модели, материнской компании?
  • Если в выводе попадается кусок обучающей выборки, получается, модель меня конкретно подставляет и я внезапно становлюсь обладателем плагиата (привет, Озон, Copilot беспокоится, когда вы таску закроете). Что с этим делать?
  • Если модель обучена на сценариях одного сценариста (статьях одного автора), идеально копирует стиль и форму, учитываются ли его права как-то?
  • Когда Битлы спели новую песню полным составом, Пол Маккартни не возражал против такого обучения? Что делать с дипфейками в кино?
  • Что делать с образом гражданки Скарлетт Йохансен, которая «снялась в порно» с использованием Stable Diffusion?
  • Я сгенерил музыку для фильма с помощью сервиса со свободной лицензией, но никак не могу доказать, что она моя. Что делать в случае страйка от Ютуба?
  • Как всё это работает в российском законодательстве и вообще по миру, какие практики есть?

Начнём с того, что в России чтобы использовать в деловых целях музыку или картинку для фильма, нужно исключительное право на эту музыку или картинку. Можно по неисключительной лицензии, что рождает неисключительное исключительное право. Я сейчас ужасно серьёзен, оно реально так называется. Примерно такая же логичность сейчас царит во всей отрасли после появления LLM и генеративок для звука и изображений.
Читать дальше →
Всего голосов 44: ↑43 и ↓1+42
Комментарии38

EntityFramework: (анти)паттерн Repository

Время на прочтение15 мин
Количество просмотров110K
Repository Pattern
Репозиторий является посредником между слоем доступа к данным и доменным слоем,
работая как in-memory коллекция доменных обектов. Клиенты создают декларативные
описания запросов и передают их в репозиторий для выполнения.
  — свободный перевод Мартина Фаулера

EntityFraemwork предоставляет нам готовую реализацию паттернов Repository: DbSet<T> и UnitOfWork: DbContext. Но мне часто приходится видеть, как коллеги используют в своих проектах собственную реализацию репозиториев поверх существующих в EntityFraemwork.


Чаще всего используется один из двух подходов:


  1. Generic Repository как попытка абстрагироваться от конкретного ORM.
  2. Repository как набор запросов к выбранной таблице БД (паттерн DAO).

И каждый из этих подходов содержит недостатки.

Читать дальше →
Всего голосов 47: ↑45 и ↓2+43
Комментарии159

Telegram бот для доставки torrent контента с телефона до телевизора

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

Всем привет! Этой мой первый пост на Habr (да и вообще где либо, за исключением GitHub). Хочу поделиться работой, на реализацию который у меня ушло около месяца, но тем не менее сейчас используя ежедневно и планирую развивать в дальнейшем. Задумка была таковой, что бы донести любой (бесплатный) контент до телевизора используя под рукой только телефон, например, если я еду в метро или нет желания (вставать с дивана) и возможности подойти к компьютеру. На самом деле причина реализации сей творения чуть глубже и проще, под управление я передал дело подбора контента на повседневный вечер супруге. За источник контента отвечает трекер Кинозал, который, к слову, я использую уже 4 года и меня он устраивает во всем.

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

Книга «Roblox: играй, программируй и создавай свои миры. 2-е изд»

Время на прочтение1 мин
Количество просмотров3.2K
image Что такое Roblox? Это красочная компьютерная платформа для создания и публикации своих игр. Мир Roblox изо дня в день становится все популярней, и ты можешь стать его частью! Если ты мечтаешь стать геймдизайнером и создать свою игру, но не знаешь, с чего начать, эта книга поможет тебе!
— Не требуется предварительных знаний — ты можешь начать делать игру сразу!
— Мир Roblox интуитивно понятен и очень нравится детям и взрослым.
— В книге даны очень подробные пошаговые инструкции по установке и работе с Roblox.
— Есть введение в программирование и язык Lua.
— Наглядные инструкции по созданию игровых объектов (каждое действие иллюстрируется скриншотом).
— Интересные задания для самостоятельной работы.
Читать дальше →
Всего голосов 14: ↑14 и ↓0+14
Комментарии4

Как на самом деле Async/Await работают в C#. Часть 1. Проблемы модели асинхронного программирования (APM)

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

Это перевод первой главы из поста How Async/Await Really Works in C#

Этот пост .Net блога является продолжением исходного поста, глубоко погружающим в историю, приведшую к созданию конструкций async/await и стоящие за этим дизайнерские решения и детали реализации async/await в C# и .NET.

Исходный пост What is .NET, and why should you choose it? предоставляет обзор платформы на высоком-уровне, перечисляя различные компоненты и решения на уровне дизайна, и предваряя последующие посты в глубину обозначенных тем.

Ссылки в развитие темы:

1. Часть 2 Артефакты от EAP шаблона, SynchronizationContext

2. Уроки по асинхронному программированию из первой половины работы

3. Параллельные вычисления — Все дело в контексте-синхронизации (SynchronizationContext)

4. Async/Await из C#. Головоломка для разработчиков компилятора и для нас

Читать далее
Всего голосов 10: ↑7 и ↓3+4
Комментарии12

Почему биткоин-транзакция зависла?

Время на прочтение3 мин
Количество просмотров22K

Блок имеет ограниченный размер в 1 мегабайт, а все неподтвержденные (пока не попавшие в блок) транзакции хранятся в мемпуле (в памяти биткоин-ноды).

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

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

Читать далее
Всего голосов 7: ↑6 и ↓1+7
Комментарии9

Чтение на выходные: «Искусственный интеллект на практике. 50 кейсов успешных компаний» Бернарда Марра и Мэтта Уорда

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

Тема искусственного интеллекта нас не отпускает: технологии набирают обороты прямо на глазах пользователей, да и вообще, они давно перестали быть «кабинетными».

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

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

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

Разворачиваем и заворачиваем в docker проект ASP.NET core на Ubuntu в связке с PostgreSQL

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

На просторах интернета заметил, что довольно мало статьей про ASP.NET под Linux. К сожалению, новички вроде меня копаются часами в поисках нужной информации, поэтому в этой статье мы вместе развернём минимальное приложение ASP.NET core под Linux в среде Ubuntu и в связке с PostgreSQL и с котиками на сервере nginx, а также упакуем всё в docker контейнеры. В ходе этой статьи мы разберём некоторые консольные команды для ежедневного пользования.

Приступить к чтению
Всего голосов 10: ↑7 и ↓3+4
Комментарии20

ChatALL — chatGPT, Bard и другие нейронки в одном месте для решения SEO задач

Время на прочтение2 мин
Количество просмотров14K

С каждым днем количество нейросетей и сервисов с ИИ увеличивается. Наиболее популярным в настоящее время является ChatGPT, однако конкуренты не отстают. Каждая нейросеть обладает своими уникальными преимуществами в решении определенных задач. Но есть одно универсальное решение — ChatALL.

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

Читать далее
Всего голосов 5: ↑4 и ↓1+3
Комментарии8

Как быстро выбирать языковые модели (LLM) под свои задачи

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

Последние полгода я активно занимаюсь разработкой сервисов на базе больших языковых моделей, они же «LLM». Для каждого проекта мне приходится подбирать модель по определенным критериям: языковая поддержка, требования к памяти, типу (instruction-based или completion), скорости генерации и т.п. Первое время я использовал платформу HuggingFace, где ежедневно публикуются около сотни новых моделей. Но кто им пользовался, знает, насколько там неудобный и слабый поиск: даже точные совпадения по названию он иногда не выдаёт. Плюс к этому, приходится тратить достаточно времени, чтобы найти и сравнить модели по нескольким критериям. В этой статье я расскажу, как решил проблему выбора языковых моделей.

Читать далее
Всего голосов 31: ↑29 и ↓2+27
Комментарии25

Локальные GPT нейронный сети — устанавливаем на домашнем ПК, запускаем и проверяем на адекватность аналоги ChatGPT

Время на прочтение18 мин
Количество просмотров27K

Есть много LLM нейронных сетей, создатели которых говорят, что они аналогичны, а может даже лучше ChatGPT версий 3.5 и 4.0. Давайте попробуем протестировать их, установив их на локальный компьютер, чтобы понять, действительно ли они так хороши.

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

Dedoc: как автоматически извлечь из текстового документа всё и даже немного больше

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

Привет, Хабр! 

Мы команда разработчиков Института Системного Программирования РАН, занимаемся Computer Vision в обработке электронных документов. Мы разработали open-source библиотеку dedoc, которая помогает разработчикам и дата-сайентистам в пару строк кода читать различные форматы текстовых документов и изображений с текстом, и далее приводить информацию к единой аккуратной структуре.

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

Вдыхайте DIY: Создаем собственную умную вентиляцию для дома

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


Зачем всё это?


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

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

На стадии ремонта я понимал, что хочу автоматизировано контролировать качество воздуха в квартире, также знал о вероятных проблемах с запотеванием окон. Понимания по производителю будущей приточной вентиляции не было, поэтому заранее в стене было проделано отверстие диаметром 160 мм с запасом под воздуховод диаметром 150 мм, и проведены провода электропитания в предполагаемое место установки приточной вентиляции.
Читать дальше →
Всего голосов 86: ↑86 и ↓0+86
Комментарии136

Low-code MVP для получения плана застройки участка по кадастровому номеру на базе Notion, Airtable и Telegram

Время на прочтение2 мин
Количество просмотров5K

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

Low-code подход реализуется через использование Airtable в качестве базы данных и системы управления очередями заданий. Frontend реализуется на базе публичной страницы в Notion и чат-бота Telegram.

Читать далее
Всего голосов 3: ↑2 и ↓1+3
Комментарии11

«Дюна» – от Герберта до Вильнёва

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

Всё началось с экологического эксперимента. В конце 1950-х Министерство сельского хозяйства США искало способы остановить распространение песчаных дюн в штате Орегон. Для этого необходимо было отыскать растение, способное выжить на песках и постепенно скреплять почву, делая её пригодной для других растений. Ну то есть задача буквально состояла в том, чтобы озеленить пустыню.

Писатель-фантаст Фрэнк Герберт ранее уже интересовался темой экологии и влияния человека на природу нашей планеты, поэтому он решил написать статью об этом эксперименте. Увы, но текст так и не был опубликован – редакция сочла его недостаточно конкретным, ему недоставало четкости, а Герберт не стал его дорабатывать.

Позднее, в 2005-ом году статья «Они остановили движение песков» всё-таки увидела свет. Она вошла в книгу «Путь к Дюне» наравне с другими наработками к роману.

Но мы забежали вперёд…
Читать дальше →
Всего голосов 35: ↑33 и ↓2+31
Комментарии60

В каких аспектах улучшилась производительность в ASP NET Core 8

Время на прочтение26 мин
Количество просмотров12K

ASP.NET Core 8 и .NET 8 обогатились многочисленными потрясающими нововведениями, благодаря которым повышается производительность. В этом посте мы подчеркнём некоторые улучшения, сделанные в ASP.NET Core, и покажем, как с их помощью можно нарастить скорость и эффективность работы веб-приложения. Этот пост можно считать продолжением Performance improvements in ASP.NET Core 7, выходившего в прошлом году. Естественно, при его подготовке я также вдохновлялся постом Performance Improvements in .NET 8. Многие из перечисленных улучшений также прямо или косвенно способствуют повышению производительности ASP.NET Core.

Читать далее
Всего голосов 28: ↑27 и ↓1+26
Комментарии5

Геймдев в России: Реальность и Перспективы

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

Индустрия видеоигр в России была динамично развивающейся сферой, но события 2022 года не прошли бесследно. Мы решили узнать о текущем состоянии и перспективах развития геймдева в нашей стране из первых рук и побеседовали со специалистами разного профиля. На наши вопросы отвечали: Александр, C/C++ разработчик, 6 лет опыта; Александр, контент-художник, 7 лет опыта; Тимофей, гейм-дизайнер, 4 года опыта; Мария, 2D-аниматор и FX-дизайнер, 5 лет опыта; Кирилл, HR, 10 лет опыта; Анна, lead-аниматор, 7 лет опыта; Анастасия, менеджер продукта, 8 лет опыта; Артём, data engineer, 4 года опыта.

Читать далее
Всего голосов 25: ↑19 и ↓6+13
Комментарии31

Пишем минимальный ActivityPub-сервер с нуля

Время на прочтение12 мин
Количество просмотров6.6K
В последнее время, на фоне покупки Twitter Илоном Маском, люди начали искать ему альтернативы — и многие нашли такую альтернативу в Mastodon.

Mastodon — это децентрализованная социальная сеть, работающая по модели федерации, как email. Протокол федерации называется ActivityPub и является стандартом W3C, а Mastodon — далеко не единственная его реализация, но самая популярная. Различные реализации протокола, как правило, совместимы друг с другом, настолько, насколько им позволяют их совпадения в функциональности. У меня есть и мой собственный проект ActivityPub-сервера — Smithereen, такой зелёный децентрализованный ВК, где я когда-нибудь таки верну стену.



В этой статье мы рассмотрим основы протокола ActivityPub и напишем минимально возможную реализацию сервера, позволяющую отправлять посты в сеть («fediverse»), подписываться на других пользователей и получать от них обновления.
Читать дальше →
Всего голосов 36: ↑36 и ↓0+36
Комментарии32

Как написать новостной Телеграм-канал если ты не программист. Часть первая

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

Всем привет! Попробую написать трилогию покорения основ Python, отражающую мой путь любителя с “паяльником”. Тут не будет основ, чистого кода, отсылок к требованиям PEP-8, практически не будет ООП.

Всех суровых Senior’ов, читающих данный материал, прошу понять и простить. Я не работаю и никогда не работал разработчиком (по крайней мере пока, но открыт к предложениям:)), не учил алгоритмов (кроме пузырька) и многого не знаю. Мне просто интересно, как мне кажется, “программировать”, а иногда даже хочется поделиться своим опытом.

Итак, что же мы будем делать. Это будет новостной ТГ-канал - новости в него будут попадать с новостного сайта с RSS-лентой. Администратор сможет модерировать новости, прежде чем они попадут в канал через ТГ-бот. Также возможна реализация автоматического рерайта/перевода новостей при помощи Chat-GPT или иной текстовой AI.

В процессе работы мы “пощупаем” работу с внешними библиотеками (их будет достаточно много) и виртуальным окружением venv, спарсим RSS-ленту и страницу новостей, заглянем в мир асинхронного Python, коснемся основ работы с SQLite и даже попробуем задеплоить нашего бота на VSD-сервер через Docker-контейнер.. если у меня хватит на описание всего этого времени и сил:)

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

Для хорошего старта всем начинающим и слабо ориентирующимся в синтаксисе Python рекомендую посмотреть вводный курс CS-50. Тут ссылка на свежую версию на-английском, на просторах YouTube есть более древняя, но переведенная на русский версия.

Читать далее
Всего голосов 18: ↑16 и ↓2+14
Комментарии6

Актуальные способы пополнения счёта в Apple и iTunes

Время на прочтение3 мин
Количество просмотров5.6K

Многие привычные вещи в эпоху санкций стали довольно непривычными. Например, весной этого года США внезапно объявили, что в новый пакет санкций входит запрет на контактные линзы для России. Чем именно запрет на контактные линзы должен помочь и кому — в новости не было упомянуто, и остаётся за пределами тематики Хабра. Любопытно другое: в день анонса к вечеру цены на линзы на «Озоне» подскочили в 2-3 раза, с привычных ~2000 за упаковку 30 шт до 4500-6000₽. А потом, всего пару недель спустя, внезапно вернулись на досанкционный уровень. Параллельный импорт или ещё какие ухищрения продавцов, но оставить россиян без контактных линз во имя добра не удалось. Невидимая рука рынка оказалась на стороне зла (с точки зрения президента США, по крайней мере). 

Этот опыт заставил меня обратить внимание на другую область санкций, которая лишила многих привычных удобств: возможности оплачивать цифровые покупки в Apple и приложениях из App Store. Год назад, когда российские банковские карты от Apple отрубили, я решил эту проблему с помощью SIM-карты Beeline — тьфу-тьфу-тьфу, это до сих пор работает, и возможность смотреть YouTube и слушать подкасты без рекламы у меня сохранилась. И даже цена не выросла, что приятно. Но содержать отдельную SIM-карту не очень удобно, поэтому я снова решил посмотреть, что рынок сегодня предлагает для оплаты App Store & iTunes.

Читать далее
Всего голосов 19: ↑15 и ↓4+11
Комментарии1

Информация

В рейтинге
Не участвует
Откуда
Санкт-Петербург, Санкт-Петербург и область, Россия
Дата рождения
Зарегистрирован
Активность