Как стать автором
Обновить
0
@FDsagiziread⁠-⁠only

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

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

Представляем Owlcat Mono Profiler для Unity

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

Добрый день. Я работаю программистом в компании Owlcat Games, которая выпустила одну из самых успешных российских компьютерных RPG Pathfinder: Kingmaker и сейчас работает над её продолжением, Pathfinder: Wrath of the Righteous. В ходе портирование первой игры нашей студии на консоли, мы столкнулись с проблемой поиска утечек памяти. Штатные инструменты движка Unity и целевых платформ оказались по разным причинам не слишком удобны для борьбы с утечками, и поэтому мы решили написать свой инструмент, о котором я и расскажу ниже.

Owlcat Mono Profiler предназначен для исследования использования памяти Mono в играх на движке Unity. Он доступен всем желающим в виде собранных бинарных файлов (под Windows) и исходного кода на Github. В отличие от встроенного профайлера Unity, а также пакета Memory Profiler, он не требует снятия снимков состояния памяти, а производит постоянный мониторинг состояния Mono-кучи, что позволяет выявлять не только утечки, но и пики аллокаций, и избыточные повторяющиеся аллокации. По сравнению с платформо-специфичными инструментами, такими как Memory Analyzer для PS4, он корректно отображает события, происходящие с памятью, управляемой сборщиком мусора.

На этом покончим с формальностями, и перейдём к cool story.

Читать далее

Доклад о вреде копирайта был удалён с сайта одного из комитетов конгресса США через день после публикации

Время на прочтение4 мин
Количество просмотров127K
В пятницу, 16 ноября на сайте Republican Study Committee — организации, объединяющей более 170 членов палаты представителей США от республиканской партии, появился интереснейший документ. Под этим 9-страничным докладом не постеснялись бы подписаться многие активисты пиратских партий по всему миру. Не прошло и суток, как этот доклад убрали с сайта под предлогом того, что он не прошёл всех согласований и вообще не соответствует стандартам RSC. Что же было в этом, столь поспешно спрятанном документе?
Читать дальше →

YouTube Center

Время на прочтение5 мин
Количество просмотров382K
YouTube Center — лучшее расширение для браузера, работающее на сайте YouTube, которое мне приходилось видеть. Не могу не поделиться.
Собственно, это расширение решает если не все, то большинство проблем, с которыми мы сталкиваемся на YouTube и о которых не раз вспоминали на хабре. О самом расширении тоже говорили на этом сайте, но оно насколько хорошее и удобное, что вполне заслуживает отдельного поста.

Возможности YouTube Center

Дополнение позволяет:
  • разместить видео по центру страницы (1)
  • указать размер плеера (2)
  • указать качество видео (3)
  • запретить автопроигрывание и буферизацию видео, в том числе в Linux в HTML5 (4)
  • отключить Dynamic Adaptive Streaming over HTTP (Dash), которое не позволяет свободно передвигаться вдоль ролика, потому что буферизация каждый раз начинается заново (5)
  • отключить рекламу, в том числе рекламу внутри видео (6)
(цифрами в скобках указаны ссылки на комментарии на хабре, в которых идёт речь о желательности таких функций на YouTube)

Есть и другие мелкие плюшки, вроде возможности:
  • скачивать ролики (с выбором качества, формата и названия видео)
  • удалить предложение видео в конце просмотра
  • указать тип плеера (Flash или HTML5)
  • указать разрешение, в котором загружены ролики
  • добавить автоподсветку, выбрать её цвет и прозрачность
… и многое другое
Читать дальше →

Пишем, собираем и запускаем HelloWorld для Android в блокноте

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


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

По-сути эта статья является переводом и переработкой статьи Building Android programs on the command line под современные на данный момент JDK (7) и Android SDK (API level 19). Кроме того, я многое упростил и добавил кое-что от себя.

Используя только блокнот, мы напишем совсем маленькое учебное Android-приложение. А затем скомпилируем его, соберём и запустим на устройстве — и всё через командную строку. Заинтересовало? Тогда прошу.
Читать дальше →

Накорми кролика и работа с Admob Mediation

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

Я пишу маленькие игры под свой iPhone. Игры выкладываю в магазин Apple Appstore — и получаю удовольствие от этого процесса.
Иногда удается получать не только удовольствие, но и небольшие деньги. Каким образом?
Я размещаю рекламу других игр (прости меня, Господи) в своем приложении и мне ежедневно падают центы. Центы падают с двух рекламных площадок — площадки Apple, называемой iAd и площадки Google, называемой Admob. Запомнить несложно.

Зачем две площадки? Потому что iAd крутится на iPhone-нах только в цивилизованных странах. Россия (Онищенко, ау!) не входит в список цивилизованных, чистоплотных стран по мнению Apple. Я вынужден с Apple согласиться. Однако не стоит унывать — на наших территориях нас спасает Google.

Как же сочетать двух монстров в одном маленьком приложении? Для этого есть компании, которые получили сленговое название медиаторы.
Ранее я пользовался медиатором по имени adwhirl.com, но в сентябре 2013 года эта компания умрет. Я перешел к новому медиатору Admob Mediation и хочу поделиться опытом работы с ним.

Читать дальше →

Насколько плохим код должен быть?

Время на прочтение6 мин
Количество просмотров74K
Эрик Липперт — ветеран Microsoft, проработавший в компании 16 лет и стоящий за разработкой VBScript, JScript и C#.

На прошлой неделе в комментариях к одной из статей разгорелся спор о роли низкоуровневой оптимизации в программировании, и я вспомнил относящуюся к этому статью Эрика. Она была написана в конце 2003, и хотя реалии с тех пор несколько изменились — принципы остались теми же самыми. Можете мысленно заменить ASP и VBScript на PHP, JavaScript, или на другой скриптовый язык по вашему вкусу.

Эту статью я уже пытался перевести в 2005, но русский текст тогда получился неуклюжий, так что этот перевод — новый и ранее не публиковался, в соответствии с требованиями НЛО. В Переводе блога Эрика Липперта этого текста тоже нет — наверное, для них он слишком стар.


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

Например, за семь лет в Microsoft я получил десятки вопросов, аналогичных по своей сути этому, заданному в конце 1990-х:
У нас есть код на VBScript, и в одной часто вызываемой функции мы определяем оператором Dim несколько переменных, которые нигде в функции не используются. Не замедляется ли каждый вызов функции из-за объявления этих переменных?
Какой интересный вопрос! В компилируемом языке, таком как Си, объявление локальных переменных общим размером n байт всего лишь вычитает n из указателя стека при входе в функцию. Если n будет чуть больше или чуть меньше, затраты времени на вычитание никак не изменятся. Наверное, в VBScript точно так же? Оказалось, что нет! Вот что я написал автору вопроса:
Читать дальше →

R’ha — короткометражный анимационный фильм немецкого студента, открывший ему двери в Голливуд

Время на прочтение2 мин
Количество просмотров240K
Удивительным образом в рунете почти нет информации об этом ярком событии, но я сейчас это исправлю. Шутка ли, студент первого курса Высшей школы медиа-дизайна из Берлина, благодаря своему короткометражному анимационному фильму под названием R`ha получил контракт в Голливуде!



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

«В его работе присутствуют кадры, достойные фильма с бюджетом в 150 миллионов долларов» — пишет продюсер фильма «Сезон ураганов».

Но по порядку.
Читать дальше →

Имитируем адаптацию глаза к темноте в 3D, или HDR для чайников

Время на прочтение4 мин
Количество просмотров42K
Всем знаком эффект временной слепоты, когда вы входите в темное помещение из светлого.  Согласно распространенному заблуждению, чувствительность зрения регулируется размером зрачка. На самом деле, изменение площади зрачка регулирует количество поступающего света всего лишь в 25 раз, а основную роль в адаптации играют сами клетки сетчатки.

title

Для имитации этого эффекта в играх используется механизм, называемый tonemapping.

tonemapping — процесс проекции всего бесконечного интервала яркостей (HDR, high dynamic range, от 0 и до бесконечности) на конечный интервал восприятия глаза/камеры/монитора (LDR, low dynamic range, ограничен с обоих сторон).

Для того, чтобы работать с HDR, нам понадобится соответствующий экранный буфер, поддерживающий значения больше единицы. Наша же задача будет состоять в правильной конвертации этих значений в диапазон [0..1].

Читать дальше →

Психологический тест для оценки IT-продукта, или в чем Habrahabr уступает Facebook

Время на прочтение6 мин
Количество просмотров37K
Пробовали ли вы оценивать свой IT-продукт с психологической точки зрения? Такая оценка может основываться на общей психологии и включать эргономическое тестирование, может основываться на когнитивной психологии и задействовать теорию познания и принятия решений, может основываться на теории деятельности и анализировать пользовательские сценарии, может основываться на психологии научения и бихевиоризме и анализировать продукт с точки зрения геймификации…

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

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

Описание теста.
Для каждой потребности предложено по 5 вопросов о продукте.
Читать дальше →

Эй, маркетологи, что с вами не так? Или о продвижении бесплатных приложений

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

Неделю назад я написал статью «Сколько стоит создать приложение или вся правда о деньгах». И, разумеется, в комментариях было озвучено множество интересных, бесполезных и вредных советов.

Основная проблема – это то, что маркетинг у нас или обывательский («мне кажется, что должно быть так») или книжный («а вот у Котлера написано, что…».). В первом варианте советы представляют из себя смесь банальностей со стереотипами, во втором — знание устаревшее на полвека. Делать маркетинг по книжкам, это все равно, что работать на PCX86 – вроде можно, но смысл?

image

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

Хочу рейтинг

Типичный день под присмотром Алисы

Время на прочтение6 мин
Количество просмотров135K
Недавно вышла новая версия комплекса MajorDoMo, о котором на Хабре была обзорная статья, и я решил, что было бы хорошо показать на живом примере, как оно работает. Возьмём самый обычный будний день и посмотрим, как Умный дом себя вёл в его течении.

Картинка для привлечения внимания

Читать дальше →

Как написать сценарий продающего видеоролика-трейлера

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


Всем привет!

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

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

Итак, вам нужен сценарий для ролика-трейлера, который за пару минут рассказал бы зрителю о продукте, при этом не утомил и в итоге помог принять правильное решение — скачать пробную версию, зарегистрироваться в системе, заполнить форму предварительного заказа (нужное подчеркнуть).

Читать дальше →

Как стать миллионером в AppStore или немного формул про продвижение и продажи. Часть 2

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

Great Appeal или девушка на миллион



Девушка на миллион

Итак, в прошлой статье мы закончили на том, что разобрались с тем, как получить «показы» нашего приложения в AppStore.

Иногда ошибочно считается, что запуск – это самое сложное. Это, мягко скажем, не так. Настоящая работа начинается после запуска.

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

Кто виноват и что делать?

Школа фриланса

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


Последние годы я со сдержанной осторожностью относился к российским фрилансерским биржам. Они мне больше напоминали какую-то ярмарку тщеславия. Но анонс Фрилансим пропустить, хотя бы из любопытства, не смог и разместил там несколько проектов. Первый же десяток-другой отзывов навеял на меня жуткую тоску и желание сбежать. Но буквально на пороге я остановился. Ведь у большинства из откликнувшихся людей (и это подтвержденный впоследствии факт) очень мало опыта в этой сфере. В школе никто им навыки фриланса не преподавал. Этому не учили в институте и на работе этого опыта не наберешь.

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

Что до моего опыта, то свой первый заказ я выполнил на бирже поздней весной 2005, а уже зимой 2006 ушел с работы и никогда туда больше не возвращался. Мне посчастливилось всегда держать на очень высоком уровне конвертацию заявки в заказ. Как исполнитель я последний раз выходил на биржу во время кризиса 2008-2009, быстро восстановился и с того же 2009 использую их только как заказчик. Вам решать, насколько мои советы будут полезны. А желающих приглашаю под кат и за парты.

Читать дальше →

Как стать миллионером в AppStore или немного формул про продвижение и продажи. Часть 1

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

Схема успеха



Джон, мы потеряли два листа математических выкладок! Что делать?
Как обычно, Билл… напиши: «отсюда с очевидностью следует…»


image

Чтобы прочитать некраткую сопроводительную записку к схеме – добро пожаловать под кат.

Читать дальше →

Краш-репорты в *nix: backtrace, SEGFAULT (и reinterpret_cast)

Время на прочтение5 мин
Количество просмотров5.4K
Привет, уважаемый хабраюзер!

Все разработчики программ рано или поздно сталкиваются с проблемой падения программы у пользователя. Но далеко не все при этом могут получить доступ к конкретному компу, на котором что-то идёт не так, запустить там gdb и повторить падение. И даже получить информацию от пользователя бывает крайне сложно: в багтрекер (или техподдержку) приходит сообщение а-ля «программа падает, что делать?», а вот технической информации, так важной для разработчика, пользователь не прилагает к своему сообщению. Да ещё и не каждый напишет об этом! Просто перестанет пользоваться программой — и всё.

Некоторые ОС предлагают отправить краш-репорт разработчикам. Но! Разработчикам ОС, а не Вам, то есть совсем не тем людям, которым это действительно нужно! И тут на помощь приходят собственные краш-репорты, которая Ваша программа должна бы отправить на Ваш сервер. Но как их сделать? Как правильно обработать SEGFAULT и при этом отправить вразумительную информацию разработчику?
Читать дальше →

Прекрасная украинская игра Contre Jour портирована на HTML5

Время на прочтение1 мин
Количество просмотров28K
Contre Jour — популярная украинская игра, с прекрасной графикой, отличным дизайном и замечательной музыкой была портирована в веб на базе современных стандартов с поддержкой HTML5 и тач-функций. Игра завоевала несколько наград после выхода в свет на iPad.

Смотрите ролик с анонсом:



Игра была портирована в веб благодаря инициативе команды Internet Explorer и прекрасно работает на планшетах с Windows 8 и IE10.

Попробуйте игру на ContreJour.ie

2400 иконок флагов под свободной лицензией

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


Самая большая коллекция флагов: 2400 пиктограмм размерами 16×16, 24×24, 32×32, 48×48 и 64×64. Есть государственные флаги всех стран, плюс бонусы: Англия, Абхазия, Нагорный Карабах, Красный крест, Южная Осетия, Сомалиленд, флаг Марса, НАТО и проч.

Все иконки в двух вариантах: стандартный и глянцевый.

Скачать:
www.gosquared.com/download/pixels/flags.zip

Лицензия MIT (GPL-совместимая), разрешает использование иконок в коммерческих проектах.

Будьте добры к программистам

Время на прочтение2 мин
Количество просмотров110K
— Тебе так повезло, что ты программист. Хотел бы я быть программистом.
— А почему ты не научишься?
— Я пытался, заходил на codeacademy и другие сайты, но это не моё.
— Да, программирование, действительно, не для всех.
— Тебе хорошо платят и ты можешь создавать разные вещи. Почти каждый день к тебе поступают сумасшедшие предложения минимум на 100 тысяч долларов.
— Да, это очень лестно. Немножко сносит крышу, если честно.
— Ты получаешь свою долю в компании, все уважают инженеров. Ты можешь воплотить любую идею в приложение и стать богатым. И тебе не нужно для этого никого нанимать.
— Вообще-то программирование делает меня несчастным.
Читать дальше →

Принцип цикады и почему он важен для веб-дизайнеров

Время на прочтение6 мин
Количество просмотров236K
Пару лет назад я прочитал интересные факты о жизненном цикле периодических цикад. Обычно мы не видим вокруг себя много этих насекомых, потому что бóльшую часть своей жизни они проводят под землёй и тихо сосут корни растений.

Однако, в зависимости от вида, каждые 7, 11, 13 или 17 лет периодические цикады одновременно массово вылезают на свет и превращаются в шумных летающих тварей, спариваются и вскоре умирают.

Хотя наши странные цикады весело уходят в иной мир, возникает очевидный вопрос: это просто случайность, или числа 7, 11, 13 и 17 какие-то особенные?
Читать дальше →
1

Информация

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