Pull to refresh
109
0
Герман @SkywalkerY

User

Send message

Настоящее предназначение OpenAI SORA: как и зачем симулировать «Матрицу» для ChatGPT

Level of difficultyMedium
Reading time41 min
Views103K

Ну что, уже успели прочитать восхищения небывалым качеством видео от нейросетки SORA у всех блогеров и новостных изданий? А теперь мы вам расскажем то, о чем не написал никто: чего на самом деле пытается добиться OpenAI с помощью этой модели, как связана генерация видео с самоездящими машинами и AGI, а также при чем здесь культовая «Матрица».

Войти в симуляцию →
Total votes 248: ↑244 and ↓4+281
Comments122

Конструктор

Reading time24 min
Views13K


Денис Паясь (Яндекс)


Меня зовут Денис, я работаю в Яндексе, а если точнее, то я занимаюсь разработкой фронтенда для страницы поисковой выдачи.

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

Сегодня я расскажу про такую офигительную нашу внутреннюю штуку как Конструктор, про то как он получился, почему, и как мы вообще к этому всему пришли.Мне кажется, что те решения, которые мы приняли в процессе реализации этой замечательной фиготы, могут быть полезны не только нам в рамках нашей компании, нашей команды, но и целому множеству других команд, в ваших, например, компаниях. Я не знаю упомянул я или нет, но проект реально очень крутой. Почему – сейчас расскажу.
Total votes 20: ↑18 and ↓2+16
Comments3

Дайджест свежих материалов из мира фронтенда за последнюю неделю №338 (5 — 11 ноября 2018)

Reading time4 min
Views13K
Предлагаем вашему вниманию подборку с ссылками на новые материалы из области фронтенда и около него.


Читать дальше →
Total votes 32: ↑32 and ↓0+32
Comments5

Фулстеки — это вечные мидлы. Не идите по этому пути, если не хотите страдать

Reading time4 min
Views135K


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

Читать дальше →
Total votes 249: ↑205 and ↓44+161
Comments733

Введение в React Hooks

Reading time12 min
Views101K


Если вы читаете Twitter, вы, вероятнее всего, знаете что Hooks  -  это новая фича React, но вы можете спросить, как мы на практике можем их использовать? В этой статье мы покажем вам несколько примеров использования Hooks.
Одна из ключевых идей для понимания заключается в том, что Hooks позволяют использовать state и другие возможности React без написания классов.
Читать дальше →
Total votes 16: ↑14 and ↓2+12
Comments36

Мутационный анализ, или как тестировать тесты

Reading time10 min
Views10K
Тестов много не бывает — это все знают. Мемы про unit и интеграционное тестирование уже не очень-то веселят. А мы по-прежнему не знаем, можно ли полагаться на результаты прохождения тестов, и какой процент покрытия позволит не пустить баги в продакшен. Если фатальные изменения в коде проскакивают тесты, не оказывая влияния на их результат, то решение напрашивается само — надо тестировать тесты!



О подходе к автоматизации этой задачи и был доклад Марка Лангового на Frontend Conf. Видео и статья короткие, а идеи очень рабочие — надо брать на заметку.
Total votes 35: ↑35 and ↓0+35
Comments2

Строим систему реактивных компонентов с помощью Kotlin

Reading time7 min
Views11K


Всем привет! Меня зовут Анатолий Варивончик, я Android-разработчик Badoo. Сегодня я поделюсь с вами переводом второй части статьи моего коллеги Zsolt Kocsi о реализации MVI, которую мы ежедневно используем в процессе разработки. Первая часть здесь.

Чего мы хотим и как мы это сделаем


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

Каждая Feature отслеживаема — есть возможность подписаться на изменения её состояния и получать уведомления об этом. При этом Feature можно подписать на источник ввода. И в этом есть смысл, ведь с включением Rx в кодовую базу у нас и так появилось множество наблюдаемых объектов и подписок на самых разных уровнях.

Именно в связи с увеличением количества реактивных компонентов пришло время поразмышлять о том, что мы имеем и можно ли сделать систему ещё лучше.
Читать дальше →
Total votes 40: ↑39 and ↓1+38
Comments2

Как я создавал карты континентов для своей игры

Reading time23 min
Views47K
image

Часть 1. SVG и системы координат


До недавнего времени размеры карт в моей игре Dragons Abound были фиксированными и несколько недетерминированными. Я считал их «региональными» — не картами всего мира, но его значительными частями, такими например, как западное побережье США или часть Европы. Меня вполне устраивал этот масштаб, но я хотел немного поэкспериментировать с игрой, чтобы посмотреть, смогу ли я генерировать карты целого мира (или хотя бы большего размера). Но прежде чем я приступлю к этому, давайте немного поговорим о картах фэнтези-миров.

Мир — это большое пространство. Большинство карт фэнтезийных «миров» даже близко не походят на истинный размер. Возьмём, например, Средиземье, в котором происходит действие «Властелина колец»:


Хоть и кажется, что на ней запечатлён огромный мир, на самом деле Средиземье создано на основе Европы.
Читать дальше →
Total votes 55: ↑54 and ↓1+53
Comments5

Как безопасно избавиться от своих электронных устройств

Reading time16 min
Views22K

Как освободить ящик от старых телефонов, ноутбуков и жёстких дисков, не беспокоясь по поводу того, что ваши данные попадут кому-то в руки




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

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

Продолжайте читать, если хотите узнать, почему это так, и как шифрование может помочь уменьшит эти риски. А также что лучше – продать старые устройства или просто уничтожить?
Читать дальше →
Total votes 21: ↑18 and ↓3+15
Comments54

Обзор основных методов Deep Domain Adaptation (Часть 1)

Reading time13 min
Views18K

Развитие глубоких нейронных сетей для распознавания изображений вдыхает новую жизнь в уже известные области исследования в машинном обучении. Одной из таких областей является доменная адаптация (domain adaptation). Суть этой адаптации заключается в обучении модели на данных из домена-источника (source domain) так, чтобы она показывала сравнимое качество на целевом домене (target domain). Например, source domain может представлять собой синтетические данные, которые можно «дёшево» сгенерировать, а target domain — фотографии пользователей. Тогда задача domain adaptation заключается в тренировке модели на синтетических данных, которая будет хорошо работать с «реальными» объектами.


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


Читать дальше →
Total votes 33: ↑33 and ↓0+33
Comments0

Алгоритм Форчуна, подробности реализации

Reading time8 min
Views25K
Последние несколько недель я работал над реализацией алгоритма Форчуна на C++. Этот алгоритм берёт множество 2D-точек и строит из них диаграмму Вороного. Если вы не знаете, что такое диаграмма Вороного, то взгляните на рисунок:


Для каждой входной точки, которая называется «местом» (site), нам нужно найти множество точек, которые ближе к этому месту, чем ко всем остальным. Такие множества точек образуют ячейки, которые показаны на изображении выше.

В алгоритме Форчуна примечательно то, что он строит такие диаграммы за время $O(n\log n)$ (что оптимально для использующего сравнения алгоритма), где $n$ — это количество мест.

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

Как обычно, код выложен на github, а все использованные мной справочные материалы перечислены в конце статьи.
Читать дальше →
Total votes 25: ↑24 and ↓1+23
Comments29

Модели Sequence-to-Sequence Ч.1

Reading time5 min
Views16K
Всем добрый день!

И у нас снова открыт новый поток на доработанный курс «Data scientist»: ещё один отличный преподаватель, чуть доработанная исходя из обновлений программа. Ну и как обычно интересные открытые уроки и подборки интересных материалов. Сегодня мы начнём разбор seq2seq моделей от Tensor Flow.

Поехали.

Как уже обсуждалось в туториале RNN (рекомендуем ознакомиться с ним перед чтением этой статьи), рекуррентные нейронные сети можно научить моделировать язык. И возникает интересный вопрос: возможно ли обучение сети на определенных данных для генерации осмысленного ответа? Например, можем ли мы научить нейронную сеть переводить с английского языка на французский? Оказывается, что можем.

Это руководство покажет вам, как создать и обучить такую систему end-to-end. Скопируйте основной репозиторий Tensor Flow и репозиторий моделей TensorFlow с GitHub. Затем, можно начать с запуска программы перевода:

cd models/tutorials/rnn/translate
python translate.py --data_dir [your_data_directory]

Читать дальше →
Total votes 17: ↑15 and ↓2+13
Comments3

7 библиотек для Android разработки на Kotlin

Reading time3 min
Views13K

7 библиотек для Android разработки на Kotlin


Недавно я начал изучать Kotlin для Android-разработки, и мне это очень понравилось. Kotlin по синтаксису очень похож на Swift, и это удобно. Я всего лишь новичок в Android-разработке, поэтому скорее всего есть ещё много полезных библиотек, которые у меня ещё не было возможности изучить, но этот список — это некоторые из тех, которые я уже успешно использовал или планирую сделать это в скором времени.

Читать дальше →
Total votes 12: ↑10 and ↓2+8
Comments3

Моя история прохождения интервью в IB IT (Java разработчик, investment bank) в Лондоне с примерами типичных заданий

Reading time13 min
Views21K

Так получилось, что я хотел стать программистом еще учась в университете в Москве, но стал им уже за пределами России и не сразу — путь был долог и тернист. Я ходил на множество интервью (вначале искал я, потом уже искали меня), вникал в тонкости работы и размышлял на тему — как же стать хорошим программистом.


Один из аспектов, который актуален на протяжении всей карьеры, это поиск работы и прохождение интервью. Я сам проводил очень мало интервью (4-5), но посетил большое их количество (>100). У меня было 3-4 периода по поиску работы за последние ~7 лет, когда я ходил на интервью месяц-два, по 1-2-3 в день иногда.


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


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

Читать дальше →
Total votes 25: ↑20 and ↓5+15
Comments86

Как технологии искусственного интеллекта помогают Aviasales расти: семь примеров

Reading time6 min
Views3K
На конференции по продуктовому маркетингу Epic Growth Conference Head of Mobile Hotels в Aviasales Константин Савченко рассказал про эксперименты и примеры использования технологий искусственного интеллекта в Aviasales.


Смотрите видео или читайте заметки под катом.
Total votes 8: ↑8 and ↓0+8
Comments0

Создание карт из функций шума

Reading time12 min
Views27K
Одна из самых популярных статей на моём сайте посвящена генерации полигональных карт (перевод на Хабре). Создание таких карт требует много усилий. Но начинал я не с этого, а с гораздо более простой задачи, которую опишу здесь. Эта простая техника позволяет создавать подобные карты меньше чем в 50 строках кода:


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

Шум


Стандартный способ генерации 2D-карт заключается в использовании в качестве строительного блока функции шума с ограниченной полосой частот, например шума Перлина или симплексного шума. Вот, как выглядит функция шума:

image

Мы присваиваем каждой точке карты число от 0.0 до 1.0. В этом изображении 0.0 — это чёрный цвет, а 1.0 — белый.
Читать дальше →
Total votes 26: ↑26 and ↓0+26
Comments14

«Монстры в играх — как заставить игрока тебя ненавидеть»

Reading time6 min
Views14K

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

Но прежде чем перейти к пятой статье цикла — рекомендую ознакомится с предыдущими материалами по ссылкам:

ч. 1 «Монстры в играх или как создать страх»
ч. 2 «Монстры в играх или делаем страх разнообразным»
ч. 3 «Монстры в играх или как удивить игрока»
ч. 4 «Монстры в играх или 15 см достаточно для атаки»

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

О том как их расставлять мы будем говорить в материалах по дизайну уровней, в отдельном цикле статей

Хотите делать крутые игры с термоядерным геймплеем? Хотите подарить пользователю незабываемые эмоции и приступы слюновыделения при виде ваших тайтлов?

Добро пожаловать под кат


Читать дальше →
Total votes 18: ↑16 and ↓2+14
Comments34

Базы данных с открытым исходным кодом на больших машинах: скорость диска и innodb_io_capacity. Часть 2

Reading time2 min
Views4.8K
Сегодня предлагаем вашему вниманию вторую часть статьи Светы Смирновой и Анастасии Распопиной о повышении производительности InnoDB.

Очень подробно этот вопрос также разберет Петр Зайцев, основатель компании Percona на своем мастер-классе 5 июля. Петр расскажет о том, как правильно использовать возможности MySQL 5.7 для того, чтобы обеспечить максимальную производительность, а также даст конкретные рекомендации относительно конфигурации сервера, схемы базы данных, архитектуры приложения и выбора оборудования. Не упустите возможность посетить этот уникальный мастер-класс, специально для PG Day Петр впервые в России подготовит его на русском языке!




В этой статье я расскажу, как искала узкое место, которое препятствовало повышению производительности в моём предыдущем посте.
Читать дальше →
Total votes 14: ↑13 and ↓1+12
Comments0

Трансляция RTMP видеопотока из Live Encoder на WebRTC

Reading time7 min
Views34K

HTTP протоколы доставки видеоконтента, такие как HLS и DASH давно потеснили Flash в нише воспроизведения онлайн-видео контента в браузерах.

Тем не менее, изначально флэшовый протокол RTMP, остается одним из самых популярных способов доставки Live видео от источника видео до сервера ретранслятора. RTMP продолжают использовать такие сервисы, как Facebook Live, Youtube Live, и другие, где требуется вещать живое видео и проводить трансляции. Таким образом, несмотря на предсказания и констатации скорой кончины Flash, протокол RTMP все еще на коне и не уступает своих позиций в нише видеотрансляций.
Читать дальше →
Total votes 10: ↑8 and ↓2+6
Comments1

Архитектура модульных React + Redux приложений 2. Ядро

Reading time9 min
Views13K
В первой части я уделил внимание только общей концепции: редюсеры, компоненты и экшны чаще меняются одновременно, а не по отдельности, поэтому и группировать и их целесообразнее по модулям, а не по отдельным папкам actions, components, reducers. Также к модулям были предъявлены требования:

  1. быть независимыми друг от друга
  2. взаимодействовать с приложением через API ядра

В этой части я расскажу о структуре ядра, подходящей для разработки data-driven систем.
Читать дальше →
Total votes 18: ↑15 and ↓3+12
Comments3
1
23 ...

Information

Rating
Does not participate
Location
Магнитогорск, Челябинская обл., Россия
Registered
Activity