Pull to refresh
4
0
Алексей @Alexey191295

User

Send message

Unity: сжимая сжатое

Reading time5 min
Views28K

Результат: информация о цвете занимает 1/64 от исходной площади при достаточно высоком качестве результата. Тестовое изображение взято с этого сайта.

Текстуры практически всегда являются наиболее значимым потребителем места как на диске, так и в оперативной памяти. Сжатие текстур в один из поддерживаемых форматов относительно помогает в решении этой проблемы, но что делать, если даже в этом случае текстур очень много, а хочется еще больше?
Что же делать?
Total votes 70: ↑69 and ↓1+68
Comments69

Как найти удаленную работу в зарубежной компании. 10 шагов

Reading time10 min
Views59K


Каждый год Оксфордский словарь английского языка выбирает «Слово года». Но в 2020-м что-то пошло не так. Издательство Оксфордского университета описало 2020-й как «год, который лишил нас дара речи», и сказало, что к нему невозможно подобрать правильное слово.


Но на наш взгляд, такое слово всё-таки есть. С прошлого марта в мире резко возросло использование слова «удаленно». Большинство предприятий отошли от традиционной модели офисной работы и стали пытаться организовать труд сотрудников из дома. Для разработчиков из СНГ это прекрасная возможность начать работу в лучших мировых компаниях. Зарплаты за рубежом выше, а возможностей сейчас стало больше, чем когда-либо прежде.


Мы постоянно исследуем рынок. Публикуем сотни вакансий ежедневно. И сейчас 40% выручки получаем от иностранных компаний, которые в основном нанимают программистов для удаленной работы.


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

Читать дальше →
Total votes 32: ↑30 and ↓2+28
Comments16

Загрузка модов из Steam Workshop без регистрации и SMS

Reading time9 min
Views132K

Как скачать моды из Мастерской Стим, не имея на аккаунте нужной игры? И Яндекс, и Гугл с радостью предложат вам десятки различных рецептов, кроме единственно правильного. На самом деле вам не нужно пользоваться услугами сторонних сайтов или устанавливать сомнительные браузерные расширения, ведь получить любой мод из Steam Workshop можно при помощи консольной утилиты SteamCMD от самих Valve. Этот способ не просто является самым надежным, но и позволяет автоматизировать загрузку с помощью скриптов. Если данная проблема актуальна и для вас (например, вы, как и автор этой статьи, предпочитаете покупать игры в GoG или увлекаетесь созданием собственных сборок модификаций), добро пожаловать под кат.

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

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

Reading time8 min
Views54K

Бесплатное хранилище артефактов PackageCloud

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

Недавно мы обсуждали эту тему в статье «Боль разработчика: “Никогда не давайте пользователям бесплатный тариф”». Речь шла о том, что на самом деле бесплатный план вовсе не бесплатен — приходится тратить массу времени и усилий на поддержку этих тарифов.

Но для некоторых бесплатный тариф — единственный способ завлечь новых клиентов. Это просто замечательно с точки зрения самих пользователей. Ведь перед нами десятки бесплатных хостингов, API, CMS, CDN, сервисов обработки данных, поисковых движков, репозиториев, инструментов проверки кода и других. Бесплатный тариф идеален для опенсорс-разработчиков, любительских и некоммерческих проектов, маленьких стартапов. Ни за что не надо платить.
Читать дальше →
Total votes 83: ↑77 and ↓6+71
Comments15

Мы Опубликовали Качественный, Простой, Доступный и Быстрый Синтез Речи

Reading time9 min
Views64K

fiona


Вторая частьhttps://habr.com/ru/post/563484/


Вокруг темы синтеза речи сейчас много движения: на рынке есть огромное число тулкитов для синтеза, большое число закрытых коммерческих решений за АПИ (как на современных технологиях, так и на более старых, т.е. "говорилки") от условных GAFA компаний, большое количество американских стартапов, пытающихся сделать очередные аудио дипфейки (voice transfer).


Но мы не видели открытых решений, которые бы удовлетворяли одновременно следующим критериям:


  • Приемлемый уровень естественности речи;
  • Большая библиотека готовых голосов на разных языках;
  • Поддержка синтеза как в 16kHz так и в 8kHz из коробки;
  • Наличие своих собственных голосов у авторов решения, не нарушающих чужие права и лицензии;
  • Высокая скорость работы на "слабом" железе. Достаточная скорость работы на 1 потоке / ядре процессора;
  • Не требует GPU, команды ML инженеров или какой-либо дополнительной тренировки или для использования;
  • Минимализм и отсутствие зависимостей / использование в 1 строчку / не надо ничего собирать или чинить;
  • Позиционируется именно как готовое решение, а не очередной фреймворк / компиляция чужих скриптов / тулкитов для сбора плюсиков;
  • Решение никак не связано и не аффилировано с закрытыми экосистемами и продуктами Гугла / Сбера / Яндекса / вставить нужное;

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

Total votes 205: ↑205 and ↓0+205
Comments229

[Личный опыт] Удалёнка и жизнь на Пхукете: вечное лето и европейский сервис по азиатским ценам

Reading time12 min
Views29K

Остров Пхукет в Таиланде — настоящий тропический рай с вечным летом, теплым морем и фруктами круглый год. Фрилансеры и удаленщики часто уезжают сюда на зимовку, но это не единственный доступный сценарий. Мы поговорили с Олегом — человеком, который профессионально помогает иностранцам переехать на Пхукет. Он сам приехал сюда в 2013 году, открыл бизнес и не просто зимует, а живет постоянно. Он расскажет, как вообще живется на Пхукете, что тут делать IT-специалисту, насколько легко остаться на ПМЖ и что ждет постоянных жителей и тех, кто хочет приехать на зимовку.




Источник
Читать дальше →
Total votes 29: ↑24 and ↓5+19
Comments69

Как избавиться от разрыва кадров и задержки ввода в играх

Reading time6 min
Views66K
image

Разрыв кадров (screen tear) или задержка ввода (input lag)? Использовать ли vsync? Очень долгое время в мире игр для PC это был вопрос «или-или». Можно добиться или картинки без разрыва кадров, или низкой задержки ввода. Но невозможно получить и то, и другое. Или можно?

Ответ на этот вопрос неоднозначен. Если у вас уже есть современный игровой монитор с поддержкой переменной частоты обновления (FreeSync или G-Sync), то вам эта статья вообще не нужна. Но если у вас обычный монитор с постоянной частотой обновления или если вы любите играть в игры на телевизоре, то данная статья поможет вам снизить разрыв кадров и задержку ввода.

Используя ограничение кадров с миллисекундной точностью в RTSS (Rivatuner Statistics Server), можно обеспечить vsync с низкой задержкой. Что мы получим в результате? Чёткую картинку без разрывов кадров и задержку ввода на 50 мс меньше, чем при обычном vsync.

Это одно из тех немногих улучшений PC, которые могут значительно повысить удобство в играх с минимальными компромиссами и совершенно бесплатно. Что же это такое? И как этого добиться? В этой статье мы расскажем всё подробно и шаг за шагом.
Читать дальше →
Total votes 32: ↑31 and ↓1+30
Comments7

GPT-2 нейросеть от OpenAI. Быстрый старт

Reading time9 min
Views142K

image


Не успели отшуметь новости о нейросети BERT от Google, показавшей state-of-the-art результаты на целом ряде разговорных (NLP) задач в машинном обучении, как OpenAI выкатили новую разработку: GPT-2. Это нейронная сеть с рекордным на данный момент числом параметров (1.5 млрд, против обычно используемых в таких случаях 100-300 млн) оказалась способна генерировать целые страницы связного текста.


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


Тем не менее, в OpenAI выложили в общий доступ уменьшенную версию нейросети GPT-2, со 117 млн параметров. Именно ее мы запустим через сервис Google Colab и поэкспериментруем с ней.

Читать дальше →
Total votes 54: ↑52 and ↓2+50
Comments70

BERT — state-of-the-art языковая модель для 104 языков. Туториал по запуску BERT локально и на Google Colab

Reading time11 min
Views123K

image


BERT — это нейронная сеть от Google, показавшая с большим отрывом state-of-the-art результаты на целом ряде задач. С помощью BERT можно создавать программы с ИИ для обработки естественного языка: отвечать на вопросы, заданные в произвольной форме, создавать чат-ботов, автоматические переводчики, анализировать текст и так далее.


Google выложила предобученные модели BERT, но как это обычно и бывает в Machine Learning, они страдают от недостатка документации. Поэтому в этом туториале мы научимся запускать нейронную сеть BERT на локальном компьютере, а также на бесплатном серверном GPU на Google Colab.

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

AnLinux: простой способ установить Linux-окружение на Android-телефон без рута

Reading time3 min
Views138K


Любой телефон или планшет, работающий на Android, — это устройство, которое управляется ОС Linux. Да, очень модифицированной ОС, но все же основа Android — ядро Linux. Но, к сожалению, для большинства телефонов опция «снести Android и поставить дистрибутив по своему вкусу» недоступна.

Поэтому, если хочется Linux на телефоне, приходится покупать специализированные гаджеты вроде PinePhone, о котором мы уже писали в одной из статей. Но есть еще один способ получить Linux-окружение практически на любом смартфоне, причем без root-доступа. Поможет в этом инсталлятор, который называется AnLinux.
Читать дальше →
Total votes 34: ↑34 and ↓0+34
Comments32

3D ML. Часть 4: дифференциальный рендеринг

Reading time15 min
Views7.5K


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


Мы поговорим о том, почему традиционный пайплайн рендеринга не дифференцируем, зачем исследователям в области 3D ML потребовалось сделать его дифференцируемым и как это связано с нейронным рендерингом. Какие существуют подходы к конструированию таких систем, и рассмотрим конкретный пример — SoftRasterizer и его реализацию в PyTorch 3D. В конце, с помощью этой технологии, восстановим все пространственные характеристики “Моны Лизы” Леонардо Да Винчи так, если бы картина была не написана рукой мастера, а отрендерена с помощью компьютерной графики.

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

Создание панорамных видео в Unity

Reading time9 min
Views5.8K

Зачем нужны панорамные видео?


Большинство статей моего блога рассчитано на разработчиков игр. Если вы один из них, то можете задаться вопросом, чем вас может заинтересовать создание панорамных видео (360° videos). Виртуальная реальность — очень успешная отрасль, на различных платформах каждый год выпускается всё больше игр. Многие игроки узнают о VR-играх через трейлеры, которые, к сожалению, записаны в 2D.


Если вы хотите сделать ещё один шаг вперёд, то можете создать дополнительный трейлер в панорамном видео, чтобы продемонстрировать весь потенциал вашей игры. Хотя для игры в VR обычно требуется дорогая гарнитура, панорамные видео нативно поддерживаются YouTube без необходимости дополнительного оборудования. А если у вас есть телефон, то вы можете очень просто превратить его в VR-гарнитуру с помощью Google Cardboard.
Total votes 8: ↑8 and ↓0+8
Comments1

Shodan — темный близнец Google

Reading time7 min
Views67K

Источник
S in IoT stands for Security
Про Shodan уже не раз писали, в том числе и здесь. Я хочу предложить еще раз пробежаться по возможностям этого замечательного инструмента и принципам его работы. Сразу хочу оговориться, ситуация с этим поисковиком вполне классическая для исследователей в области информационной безопасности — инструмент может использоваться как с благими намерениями, так и сильно за чертой закона.

Disclamer:
Использование самого поисковика не является чем-то наказуемым. Успешный вход в незакрытую панель управления узла нефтяного терминала где-то в Сингапуре и эксперименты с открыванием заслонок — уже наказуемы. Могут прийти и постучаться недружелюбные люди. Поэтому будьте благоразумны и уважайте чужое пространство. Мы против применения Shodan для чего-то кроме исследовательских целей или анализа собственных систем.

Предлагаю еще раз пройтись по возможностям этого поисковика, особенностям его синтаксиса и попробовать найти что-то интересное. И давайте не будет печатать «Войну и Мир» на чужих сетевых принтерах.
Total votes 56: ↑56 and ↓0+56
Comments31

Хранение мира в Snake Rattle'n'Roll

Reading time34 min
Views7.3K
Много лет назад мне довелось поиграть на Dendy в игру Snake Rattle'n'Roll. Пройти её мне тогда так и не удалось, из-за широко известного в узких кругах бага с фонтанчиком на 7 уровне. Да, и на данный момент игра так и не пройдена. Прогресс пока остановился на последнем уровне из-за его сложности. Игра сама по себе для NES была достаточно нестандартна. Это был изометрический мир, в котором надо было карабкаться верх, по пути собирая бонусы, поедая ниблов (местная живность) и сражаясь с ногами, шашками и прочими грибами. Вроде бы ничего необычного, но продвигаясь дальше по уровням я замечал, что мир хоть и был разбит на уровни, но был единым целым, просто каждый из уровней происходил в другой ограниченной части этого мира. И вот однажды мне захотелось получить 3D модель данного мира, с целью распечатать себе сувенир на 3D принтере. Учитывая характеристики железа NES я представлял, что это будет не очень просто, как оно оказалось на самом деле судить вам. Итак, если вас заинтересовало исследование этого мира — добро пожаловать под кат.
Читать дальше →
Total votes 47: ↑47 and ↓0+47
Comments17

Поля расстояний Raymarching-а: объяснение и реализация в Unity

Reading time24 min
Views27K
image

Raymarching — это достаточно новая техника, используемая для рендеринга сцен реального времени. Она особенно интересна тем, что полностью вычисляется в шейдере экранного пространства. Другими словами, рендерер не получает доступа к данным мешей и сцена отрисовывается на одном четырёхугольнике, покрывающем всю область видимости камеры. Объекты в сцене задаются аналитическим уравнением, описывающим кратчайшее расстояние между точкой и поверхностью всех объектов сцены (поэтому полностью техника называется полями расстояний Raymarching-а). Оказывается, что даже при наличии только этой информации мы можем создавать поразительно сложные и красивые сцены. Более того, благодаря тому, что мы не используем полигональные меши (и вместо них применяются математические уравнения), здесь, в отличие от традиционного рендерера, можно задавать идеально плавные поверхности.


Snail Иниго Килеза была полностью создана при помощи raymarching. Другие примеры подвергнутых raymarching-у сцен можно найти на Shadertoy.

В этой статье мы сначала расскажем о фундаментальных понятиях и теории raymarching, а затем покажем, как реализовать простейший raymarcher в игровом движке Unity. Далее мы продемонстрируем, как на практике встроить raymarching в настоящую игру на Unity, позволив объектам с raymarching-ом перекрываться обычными GameObjects.

Полный код можно найти в этом репозитории Github.
Total votes 21: ↑21 and ↓0+21
Comments5

Ray Casting Visual Search (RCVS). Простой и быстрый алгоритм поиска схожих по геометрии 3D моделей

Reading time8 min
Views5K


Для меня эти две модели очень похожи, однако у них нет очевидных характеристик, по которым можно было бы измерить их сходство. У этих моделей разное количество вершин, рёбер и полигонов, они разного размера, к тому же по-разному повёрнуты в пространстве, и у обеих одинаковые трансформации (Положение = [0,0,0], Вращение в радианах = [0,0,0], Масштаб = [1,1,1]). Как определить их подобие?
Total votes 14: ↑14 and ↓0+14
Comments13

ARM MBED OS. Работа с произвольным МК STM32 под PlatformIO

Reading time13 min
Views32K
imageКогда в январе сего года я писал материал о файловой системе LittleFS (интегрированной в состав arm mbed os), то обещал в скорейшем времени описать создание проекта с arm mbed os для произвольного микроконтроллера STM32. Как известно, онлайн IDE от ARM (а точнее, выделенного подразделения Arm mbed) поддерживает, во-первых, строго определенное число отладочных плат, и число их невелико; во-вторых, экспортирует онлайн-примеры, на базе которых можно строить какие-то свои проекты, только для наиболее известных IDE: ARM, uVision KEIL и IAR. Более того, некоторые примеры не экспортируются вовсе. То есть, доступны для экспорта или только варианты для IAR, или только для KEIL, и так далее. Так что, как в то время показалось, научиться “прикручивать” arm mbed os к любому МК было бы не лишним вовсе.

Однако, жизнь вносит свои коррективы в любые планы, и работать в этом направлении длительное время не получалось. Но вопрос оставался открытым, и теперь, по прошествии значительного времени, я возвращаюсь к тематике.
Читать дальше →
Total votes 20: ↑20 and ↓0+20
Comments7

Сортировка выбором минимумов (максимумов)

Reading time14 min
Views23K

imageМногие программисты думают, что Quick Sort — самый быстрый алгоритм из всех существующих. Отчасти это так. Но работает она действительно хорошо только если правильно выбран опорный элемент (тогда сложность составляет O (n log n)). В противном же случае асимптотика будет примерно такой же как и у пузырика (то-есть O (n2)).
При этом, если массив уже отсортирован, то алгоритм всё-равно будет работать не быстрее, чем O (n log n)


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

«Дело было вечером, делать было нечего», — Сергей Михалков.

Требования:


  1. Лучший случай O (n)
  2. Средний случай O (n log n)
  3. Худший случай O (n log n)
  4. В среднем быстрее быстрой сортировки


А теперь давайте обо всём по порядку


Чтобы наш алгоритм всегда работал быстро, нужно чтобы в среднем случае асимптотика была хотя бы O (n log n), а в лучшем — O (n). Все мы прекрасно знаем, что в лучшем случае сортировка вставками работает за один проход. Но в худшем ей придётся гонять по массиву столько раз, сколько в нём элементов.


Читать дальше →
Total votes 24: ↑15 and ↓9+6
Comments39

Что принёс нам Pandas 1.0

Reading time2 min
Views14K


9 января состоялся релиз Pandas 1.0.0rc. Предыдущая версия библиотеки — 0.25.


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


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

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

Разработка идеального pypi пакета с поддержкой разных версий python

Reading time15 min
Views21K

Это небольшой мануал/история о том, как создать "идеальный" pypi пакет для python, который каждый желающий сможет установить заветной командой:


pip install my-perfect-package

Ориентирована на новичков, но призываю и профессионалов высказать свое мнение, как можно улучшить "идеальный" пакет. Поэтому прошу под кат.

Читать дальше →
Total votes 37: ↑36 and ↓1+35
Comments16

Information

Rating
Does not participate
Location
Серов, Свердловская обл., Россия
Date of birth
Registered
Activity