Как стать автором
Обновить
13
0
Ernest @Erny

Разработчик

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

Уроки от начинающего основателя и генерального директора GawkBox

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

После 3-х лет, 4.4-х миллионов долларов инвестиций, 500 000 пользователей и более 1 миллиона долларов дохода, мы просто закрылись. Уроки от начинающего основателя и генерального директора.


Прошло несколько недель с тех пор, как я объявил, что мы закрываем наш продукт GawkBox и распускаем всю нашу команду.

Когда кто-нибудь создает компанию и направляет в нее столько усилий, закрытие компании — это не тот результат, на который вы рассчитываете. Это был результат, который мы считали, никогда не случится с нами. Мы начинали с амбициозной целью: помочь создателям контента получать деньги, делая то, что они любят. Мы заработали более 1 млн. долларов в первые 18 месяцев работы. В 2017 году наш продукт вышел на сцену, и мы увидели приток сотен тысяч новых пользователей. Мы заплатили более 1 млн долларов почти 20 тысячам создателей контента. Мы собрали в общей сложности 4,4 млн долларов за два раунда финансирования от невероятных инвесторов — GawkBox была лошадкой, на которую хочется сделать ставку, и многие люди так и делали. Тем не менее, после 3-х лет попыток, мы так и не смогли найти бизнес-модель, которая бы заставила наш бизнес работать.
Читать дальше →
Всего голосов 4: ↑0 и ↓4 -4
Комментарии 6

Как официально принимать валютные платежи из-за рубежа в России (ИП)

Время на прочтение 4 мин
Количество просмотров 54K
После моего комментария, периодически получаю однотипные вопросы о получении валютных платежей из-за рубежа.

Наконец-то решил оформить всё это в пост, чтобы не писать каждый раз одно и то же. Сразу скажу, что ничего сложного тут нет – я сам разобрался в этом и оформил ИП примерно за пару недель, раньше ничего об этом не зная.
По шагам...
Всего голосов 67: ↑62 и ↓5 +57
Комментарии 280

Рендеринг капли с прозрачностью и отражениями на OpenGL

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

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


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

Azure Machine Learning: разработка сервисов машинного обучения и их использование в мобильном приложении

Время на прочтение 19 мин
Количество просмотров 15K
Выражаем большое спасибо за подготовку статьи Евгению Григоренко, Microsoft Student Partner, (@evgri243) за помощь в написании данной статьи. Остальные наши статьи по теме Azure можно найти по тегу azureweek

Машинное обучение – одна из самых популярных областей Computer Science, хотя в то же время одна их самый избегаемых среди разработчиков. Основная причина этого в том, что теоретическая часть машинного обучения требует глубокой математической подготовки, которую многие предпочитают сразу же забыть по окончании университетского обучения. Но необходимо понимать, что помимо теоретических основ, существует также и практическая сторона, которая оказывается значительно проще для освоения и ежедневного использования. Цель этой работы – ликвидировать разрыв между программистами и специалистами по обработке данных и показать, что использование машинного обучения в своих приложениях может быть достаточно простой задачей. В статье излагается вся последовательность шагов, необходимая для построения модели предсказания цены автомобиля в зависимости от набора его характеристик с последующим ее использованием в мобильном приложении на Windows 10 Mobile.
Читать дальше →
Всего голосов 16: ↑16 и ↓0 +16
Комментарии 4

Android Data Binding in RecyclerView

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


На Google IO 2015 анонсировали новую библиотеку Data Binding Library. Основная ее задача — вынесения взаимодействия модели и View в xml-файлы. Она значительно упрощает написание кода и избавляет от необходимости использования методов findByViewId(), добавления ссылок на view-элементы внутри Activity/Fragment’ов. Также она позволяет использовать кастомные атрибуты, привязывая их к статическим методам. Поскольку статьей просто по Data Binding уже достаточно, но по его использованию в RecycleView всего ничего, восполним этот пробел.
Читать дальше →
Всего голосов 16: ↑16 и ↓0 +16
Комментарии 10

Как мы преодолевали передачу данных по USB

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

С чего все началось


Итак, в нашем замечательном приборе Беркут-ММТ (на базе PXA320 и GNU/Linux) есть не менее замечательный модуль OTDR (на базе STM32 и NutOS), представляющий собой импульсный оптический рефлектометр. Эта связка работает следующим образом: пользователь нажимает на экране на различные элементы UI, в приборе происходит немножечко магии, и желания пользователя трансформируются в команды вида «duration 300», которые уходят в измерительный модуль. Конкретно эта команда выставляет длительность измерений в 300 секунд. Модуль к прибору подключен по USB, для передачи команд поверх USB поднят CDC-ACM.

Кратенько — CDC-ACM позволяет эмулировать последовательный порт через USB. Так что для верхнего уровня наш измерительный модуль в системе доступен как /dev/ttyACM0. CDC-ACM служит для передачи команд в модуль или чтения текущих настроек/состояния модуля. Для передачи самой рефлектограммы служил USB Bulk интерфейс, который все свое время посвящал только одному — передаче данных рефлектограммы из модуля в прибор, как бинарного потока данных. В какой-то момент мы заметили, что рефлектограмма приходит к нам не полностью. Так мы открыли для себя, что USB может терять данные.
Читать дальше →
Всего голосов 21: ↑19 и ↓2 +17
Комментарии 21

Новости проекта Qucs: доступен кандидат в релизы с поддержкой моделирования схем в SPICE

Время на прочтение 6 мин
Количество просмотров 18K
Qucs — это симулятор электронных схем с открытым кодом. О нём рассказывают мои предыдущие статьи на хабре.

Сейчас наш проект готовится к следующему релизу 0.0.19, который выйдет в ближайшие недели. Данная заметка содержит обзор наиболее ожидаемого за все последние годы нововведения: поддержки моделирования схем Qucs в SPICE-совместимых симуляторов.

Qucs использует ядро моделирования Qucsator, разработанное с нуля. Это ядро имеет много преимуществ (моделирование S-параметров, расширенный постпроцесоор), но также имеет многочисленные баги, связанные с моделированием во временной области (Transient analysis). Эти баги в частности не позволяют моделировать в Qucs силовую электронику. Теперь в Qucs можно смоделировать, например такую схему:



Скачать пакеты для Linux и Windows с поддержкой Ngspice можно здесь:
github.com/ra3xdh/qucs/releases/tag/0.0.19S-rc1

UPD от 21.10.15: сейчас доступен RC3: github.com/ra3xdh/qucs/releases/tag/0.0.19S-rc3

Буква «S» в номере релиза означает SPICE. По-видимому вместе с релизом 0.0.19 выйдет два набора пакетов: с индексом «S» и с обычной нумерацией, так как дальнейшая судьба spice4qucs неясна.

Документация для spice4qucs находится здесь: qucs-help.readthedocs.org/en/spice4qucs

Под катом будет кратко рассмотрено использование spice4qucs.

Читать дальше →
Всего голосов 35: ↑34 и ↓1 +33
Комментарии 11

Борьба с 2D-физикой в Unity на примере бесконечной игры

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


Мой странный творческий путь занес меня в разработку игр. Благодаря отличной студенческой программе от IT-компании, название которой СостоИт из одной Греческой МАленькой буквы, сотрудничающей с нашим университетом, удалось собрать команду, родить документацию и наладить Agile разработку игры под присмотром высококлассного QA-инженера (здравствуйте, Анна!)

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

Наша игра использовала физический движок неожиданным для него способом, что породило множество проблем с производительностью на мобильных платформах. В этой статье, на примере нашей игры, описана моя борьба с физическим движком и все те особенности его работы, которые были замечены на пути к жизнеспособной бета-версии.
Читать дальше →
Всего голосов 56: ↑49 и ↓7 +42
Комментарии 32

Объемные планеты в 2D через шейдер

Время на прочтение 7 мин
Количество просмотров 58K
А помните, как вы просили меня про шейдеры написать? Помните? Нет? А вот я помню и даже написал. Милости просим, поговорим о прекрасном.

Сегодня я поведу речь о том, как я делал объемные вращающиеся планеты для нашей игры blast-off. Тоесть они, конечно, совершенно плоские, всего пара треугольников, но выглядят как объемные.



Заинтересовало? Прошу под кат. Картинок прилично.
Читать дальше →
Всего голосов 77: ↑75 и ↓2 +73
Комментарии 39

Установка Windows 8 Developer Preview для ленивых

Время на прочтение 3 мин
Количество просмотров 51K
Задача: поставить Windows 8 Developer Preview поиграться.

Условия: старая винда должна выжить, привода DVD нет, большой флешки на десять гигов тоже.

Классические решения:

  1. Поставить в виртуалку. Это медленно, нужен дополнительный софт и без хардварной виртуализации ничего не заработает.
  2. Поставить на другой жёсткий диск. Увы, в ноутбук второй винт не вставишь, да и нету его у меня.
  3. Выделить отдельный раздел на винте. А это ставить лишний софт, танцевать с бубнами вокруг разделов… Лениво!

К тому же последние два варианта обычно требуют физический DVD, которого нет. Выход? VHD!

Кроме ISO образа Windows 8 нам также понадобится установленная Windows 7 — более ранние версии не умеют работать с VHD. А из под Linux мы не сможем так просто запустить инсталлятор.

Читать дальше →
Всего голосов 216: ↑181 и ↓35 +146
Комментарии 139

AdvancedApplicationBar. Улучшаем возможности ApplicationBar в WP7

Время на прочтение 3 мин
Количество просмотров 2.6K
У многих разработчиков WP7 вызывает неприятное удивление реализация ApplicationBar. В шутку ходят грязные слухи, что эта компонента разрабатывалась вообще не в МС, а командой не имеющего к silverilght никакого отношения, которые написали компоненту по затребованному интерфейсу

Так как в нескольких проектах мне приходилось активно работать с ApplicationBar, я написал обертку AdvancedApplicationBar, которая позволяет значительно сократить объемы кода. По сути наиболее часто встречающиеся проблемы можно решить одними лишь разметками в XAML.
Читать дальше →
Всего голосов 36: ↑31 и ↓5 +26
Комментарии 9

Командное приготовление яичницы

Время на прочтение 2 мин
Количество просмотров 3.9K
Фантазия на тему, как наша команда готовила бы яичницу.



Product manager (он всегда спецификацию пишет по-английски):
Our customers need fried eggs. Result should be hot and round. Sunny-side up.
P0. Should be cooked from eggs
P2. Fried eggs should be edible
Microwave method is out of scope.
Design of fried eggs will be attached later.

Team leader:
— Мне нужны точные оценки сколько времени потребуется на создание яичницы и разбиение по задачам. Поскольку требования сложные — предлагаю сделать сначала прототип.
Читать дальше →
Всего голосов 131: ↑99 и ↓32 +67
Комментарии 38

Китайский суд посчитал, что Apple не имеет прав на марку iPad

Время на прочтение 1 мин
Количество просмотров 1.7K
Китайский суд, разбираясь с жалобой Apple на местную компанию Proview Technology, вынес неожиданное решение — марка iPad принадлежит последней, так как была зарегистрирована этой фирмой ещё в 2000 году.

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

Забавно, что о регистрации марки десятилетней давности, видимо, никто бы и не узнал, если бы не обращение в суд самой Apple. За что боролись, на то и напоролись, как говорится :-)

Пара пруфлинков на тему этих событий:
www.securitylab.ru/news/411950.php
www.ixbt.com/news/hard/index.shtml?15/31/47
Всего голосов 199: ↑186 и ↓13 +173
Комментарии 123

Unity3D + Google Services: мультиплеер для вашего проекта на Android и iOS

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

В этой статье я хочу рассказать об использовании игровых сервисов Google в вашем приложении на Unity. На написание данного материала меня сподвигло достаточно большое количество проблем, встретившихся во время разработки нашего приложения, а также отсутствие каких-либо материалов на русском языке по этой теме. Да и собственно, на английском тоже. Описание использующегося плагина на гитхабе очень краткое и не дает ответа на возможные проблемы с работой сервисов. Думаю, здесь не стоит пояснять, что мультиплеер и рейтинги игроков зачастую повышают интерес пользователей, а следовательно и вашу возможную прибыль. А благодаря данной статье начинающие разработчики смогут начать использовать данные преимущества.
Читать дальше →
Всего голосов 19: ↑15 и ↓4 +11
Комментарии 10

За что блокируют разработчиков Google Play

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


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

Тема очень серьёзная. Если гугл заблокирует вас однажды — обратно пути уже не будет. По всей видимости, отслеживается взаимосвязь аккаунта с вашим ФИО, IP, Mac-адресом и прочими личными данными. Испортите отношение с Google один раз — потом не отмоетесь никогда.

Чтобы не потерять аккаунт, зарегистрированный лично на вас — нужно следовать определённым принципам. Давайте попытаемся вместе их вывести.
Читать дальше →
Всего голосов 131: ↑106 и ↓25 +81
Комментарии 124

JBrainfuck — Пишем компилятор Brainfuck под Java VM

Время на прочтение 13 мин
Количество просмотров 22K
Меня давно интересовал вопрос написания своего компилятора под Java VM, но было недостаточно опыта, дабы сделать это. Да и как-то руки не доходили, а недавно все же решил разобраться в этой теме и заодно рассказать о своем опыте создания компилятора под эту VM.

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

JBrainfuck — оптимизирующий интерпретатор и компилятор Brainfuck под Java VM. Благодаря JIT обладает высокой производительностью.


Ну что, приступим?
Всего голосов 49: ↑49 и ↓0 +49
Комментарии 18

Хранение данных в Google App Engine

Время на прочтение 7 мин
Количество просмотров 5.4K
За основу данной статьи взята запись в блоге Ника Джонсона (Nick Johnson). В дополнение к ней приведено немного цифр, актуальных на данный момент и добавлены некоторые заметки.

App Engine предоставляет множество способов хранения информации. Некоторые (например, хранилище данных) хорошо известны, но другие почти нет, и у всех них характеристики различаются. В этой статье будут перечислены различные возможности и описаны преимущества и недостатки каждой из них, так что Вы сможете принимать решения, имея больше информации о возможностях хранения данных.
Читать дальше →
Всего голосов 42: ↑40 и ↓2 +38
Комментарии 20

EFF подал в суд на АНБ за неразглашение 0day-уязвимостей

Время на прочтение 2 мин
Количество просмотров 25K
Фонд электронных рубежей (EFF) подал иск против Агентства национальной безопасности США.

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

Вполне вероятно, что иск будет удовлетворён, поскольку в точности соответствует параграфу 552 Закона о свободе информации, в части «общественной важности» рассекречиваемой информации. В этом случае он станет первым шагом в подготовке процесса публичного обсуждения деятельности АНБ.

Агентство ранее уже косвенно дало понять, что при определённых условиях не разглашает информацию о 0day-уязвимостях, используя их для сбора разведданных в целях национальной безопасности.
Читать дальше →
Всего голосов 76: ↑73 и ↓3 +70
Комментарии 29

Unity3D — написание плагинов для Android

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

Предисловие


Здравствуйте!
Тут находятся инструкции, как расширить возможности Unity3D в работе с Android-приложениями. Другими словами, мы можем в Eclipse виде библиотеки на языке программирования Java написать нужный функционал для Android, экспортировать его в .jar и использовать в Unity3D. В основном пишут то, что отсутствует в возможностях Unity3D — такие вещи, как включение/выключение фонарика или длительная вибрация

image

Что нам понадобится


  • Установленные Android SDK и Eclipse (либо другая IDE на ваш выбор и усмотрение)
  • Минимальные познания в Java и C#
  • Немного терпения


Читать дальше →
Всего голосов 20: ↑19 и ↓1 +18
Комментарии 9

Android JNI + Intelij Idea + Gradle. Полная автоматизация процесса

Время на прочтение 4 мин
Количество просмотров 13K
Доброго времени суток!
Данный пост является небольшим руководством, по автоматизации компиляции нативного кода в среде Intellij Idea с использованием Gradle. Gradle предоставляет достаточно большой функционал для автоамтизации сборки проектов. Но даже подключение нативных библиотек к Android проекту требует дополнительных усилий со стороны разработчика.

Предыстория


Недавно я сменил место работы и устроился работать в компанию, занимающуюся разработкой собственного мобильного программного обеспечения. Мы с моими новыми коллегами по работе решили перейти с Eclipse (на котором до этого велась вся разработка) на Intellij Idea, и в добавок с Ant на Gradle. У нас достаточно большой проект, с приличным количеством кода, в том числе с использованием нативного C и C++ кода, как самописного так и уже готовых библиотек.

Тех, кто занимается разработкой Android проектов с использованием Android NDK в среде Intellij Idea + Gradle прошу под кат.
Читать дальше →
Всего голосов 15: ↑13 и ↓2 +11
Комментарии 6
1

Информация

В рейтинге
Не участвует
Откуда
Таиланд
Зарегистрирован
Активность