Orion @Orion
Пользователь
Великолепная подборка инди-игр*. Часть первая
7 мин
19K*или чем занять все выходные на полгода вперёд.
В определении инди-игр я волен соглашаться с энциклопедией Google Knol(привет, Mio :):
В определении инди-игр я волен соглашаться с энциклопедией Google Knol(привет, Mio :):
Инди-игры (англ. indie games от англ. independent — «независимый») — видео-игры, созданные независимо от крупных издателей. Большинство изначально свободных игр также относится к этой категории. Инди-игры обычно — дешёвые или бесплатные, часть из них разрабатывается как open source. Разработчиками инди-игр руководят чаще всего «некоммерческие» мотивы — желание самореализации, воплощения своих идей и фантазии, некоторой славы и пр. На создание такой игры могут уйти годы или она может быть завершена за несколько дней или даже часов, в зависимости от её сложности, участников, оформления.
+58
Знакомство с Adobe Pixel Bender (Часть 1)
4 мин
9.6KТехнология Pixel Bender была разработана в лаборатории Adobe, для создания фильтров предназначенных для обработки видео и изображений. Фильтры Pixel Bender(PB) могут использоваться в программных продуктах: Adobe Flash, Adobe Flex, Adobe Photoshop, Adobe After Effects. По своей сути, PB предоставляет возможность программным способом обрабатывать изображения с поддержкой аппаратного ускорения. Он хорош тем, что позволяет обработать каждый пиксель поэтапным обходом изображения.
Pixel Bender Toolkit абсолютно бесплатен, скачать его можно по следующей ссылке labs.adobe.com/technologies/pixelbender. PBT(Pixel Bender Toolkit) включает в себя: интегрированную среду разработки с поддержкой родного си-подобного языка и граф-языка, примеры фильтров, документацию.
Создание фильтров делится на 3 этапа:
Pixel Bender Toolkit абсолютно бесплатен, скачать его можно по следующей ссылке labs.adobe.com/technologies/pixelbender. PBT(Pixel Bender Toolkit) включает в себя: интегрированную среду разработки с поддержкой родного си-подобного языка и граф-языка, примеры фильтров, документацию.
Создание фильтров делится на 3 этапа:
- Разработка алгоритма
- Запись алгоритма в PBT
- Экспорт в байт-код
+29
Контексты функций в Action script
3 мин
3.5KЯ люблю использовать анонимные функции, передавать функции по ссылке, объявлять функции прямо в теле другой функции и т.п. Это удобно и практично, но с этими механизмами могут возникнуть некоторые проблемы. Начиная с версии 9 Flash Player сохраняет в
Например, теперь можно описать такую функцию:
и передавать её куда угодно:
и быть уверенным, где-бы её не вызвали в
this
функции её родителя. Звучит просто, но все ли понимают, что это значит и как тяжело было раньше без этого?Например, теперь можно описать такую функцию:
public class TestClass
{
var property : Number;
function updateValue(value : Number) : void
{
TestClass(this).property = value;
}
}
и передавать её куда угодно:
var func : Function = new TestClass().updateValue;
func(555);
и быть уверенным, где-бы её не вызвали в
this
будет экземпляр класса TestClass
. Но я не об этом, есть более любопытные действия, которые можно производить над функциями в Action Script, их мы их рассмотрим.+20
Flex Data Binding Tricks
9 мин
5.5KМеньше года назад меня вовлекли в проект, для которого необходимо было писать клиента на Flex. Так как я был новичком в этом деле, то в процессе работы я находил что-то новое и совершенно неизвестное мне. В то время я и открыл для себя Flex Data Binding (связыванием данных). Я думаю, что каждый, кто работает с Flex очень скоро сталкивается с Data Binding.
Связывание данных заключается в том, что мы можем с легкостью связывать два объекта (источника данных) между собой, что позволяет поддерживать их синхронизацию. Примером может служить связывание между собой элементов пользовательского интерфейса путем создания некоторых правил поведения, что способствует созданию более интерактивного пользовательского интерфейса.
Имея некоторый опыт в этой области, я решил разобрать все типы механизма связывания данных во Flex. Думаю эта статья будет интересна не только новичкам, но и профессионалы почерпнут из неё что-нибудь для себя.
Связывание данных заключается в том, что мы можем с легкостью связывать два объекта (источника данных) между собой, что позволяет поддерживать их синхронизацию. Примером может служить связывание между собой элементов пользовательского интерфейса путем создания некоторых правил поведения, что способствует созданию более интерактивного пользовательского интерфейса.
Имея некоторый опыт в этой области, я решил разобрать все типы механизма связывания данных во Flex. Думаю эта статья будет интересна не только новичкам, но и профессионалы почерпнут из неё что-нибудь для себя.
+25
Разработка на Flex в IntellliJ IDEA с использованием maven
6 мин
4.6KПри разработке на ActionScript, как и на любом другом языке, возникает два вопроса: «В чем писать?» и «Чем собирать?». Если вы продвинутый разработчик, вы наверняка уже используете IntelliJ IDEA как IDE и maven как инструмент сборки. Данная статья показывает оптимальность этого решения и описывает процесс настройки рабочего окружения. Если вы не любите пиво (и не понимаете смысл этой фразы и на кого я только что кивнул) и не считаете себя ленивой скотиной, можете не тратить свое время.
Статья скорее искра, чем пошаговое руководство, тем более, посвящена EAP, поэтому если вы ну совсем ленивая скотина без капли риска, то ждите релиза :)
Статья скорее искра, чем пошаговое руководство, тем более, посвящена EAP, поэтому если вы ну совсем ленивая скотина без капли риска, то ждите релиза :)
+20
Логика английских времен
6 мин
72KИзучавшие или изучающие английский язык знают, каким страшным может казаться множество английских временных форм глаголов.
Всего в английском 12 временных форм. А в русском-то, на первый взгляд, всего 3, и как их связать с английскими, для новичка может быть совершенно не понятно.
Всего в английском 12 временных форм. А в русском-то, на первый взгляд, всего 3, и как их связать с английскими, для новичка может быть совершенно не понятно.
+150
Установка Windows 8 Developer Preview для ленивых
3 мин
51K Задача: поставить Windows 8 Developer Preview поиграться.
Условия: старая винда должна выжить, привода DVD нет, большой флешки на десять гигов тоже.
Классические решения:
К тому же последние два варианта обычно требуют физический DVD, которого нет. Выход? VHD!
Кроме ISO образа Windows 8 нам также понадобится установленная Windows 7 — более ранние версии не умеют работать с VHD. А из под Linux мы не сможем так просто запустить инсталлятор.
Условия: старая винда должна выжить, привода DVD нет, большой флешки на десять гигов тоже.
Классические решения:
- Поставить в виртуалку. Это медленно, нужен дополнительный софт и без хардварной виртуализации ничего не заработает.
- Поставить на другой жёсткий диск. Увы, в ноутбук второй винт не вставишь, да и нету его у меня.
- Выделить отдельный раздел на винте. А это ставить лишний софт, танцевать с бубнами вокруг разделов… Лениво!
К тому же последние два варианта обычно требуют физический DVD, которого нет. Выход? VHD!
Кроме ISO образа Windows 8 нам также понадобится установленная Windows 7 — более ранние версии не умеют работать с VHD. А из под Linux мы не сможем так просто запустить инсталлятор.
+147
Мошеннические Android-приложения. Ковыряем врага
3 мин
36KЯ являюсь разработчиком Android-приложения и слежу за появлением новых ссылок на него с помощью подписок Google. Сегодня утром я с радостью обнаружил в ящике письмо, в котором присутствовала новая ссылка на мое приложение. Все отлично! И отзыв положительный, и количество загрузок отличное от 0 вот только версия почему-то старая и… размер APK целых 3 мегабайта против оригинальных ~200К
После загрузки и распаковки APK (вспоминаем что APK это просто ZIP-архив) в нем обнаружилась «набивка» из 153 PNG файлов (переименованных зачем-то в .temp) со свидетелем из Фрязино и собственно «приложение»…
Как и следовало ожидать, от оригинального приложения там ничего не осталось. Ни иконки, ни, тем более, кода. А при дальнейшем рассмотрении (похоже что) ВСЕ файлы на androides-os.com — одна и та же программа! Я скачал несколько разных программ из разных разделов и все они были одного размера и с одинаковым содержимым!
Внутри оказалось нечто, которое по беглому анализу ресурсов оказалось приложением, запрашивающим активацию путем отправки SMS. Попробуем разобраться, куда и что отправляется…
После загрузки и распаковки APK (вспоминаем что APK это просто ZIP-архив) в нем обнаружилась «набивка» из 153 PNG файлов (переименованных зачем-то в .temp) со свидетелем из Фрязино и собственно «приложение»…
Как и следовало ожидать, от оригинального приложения там ничего не осталось. Ни иконки, ни, тем более, кода. А при дальнейшем рассмотрении (похоже что) ВСЕ файлы на androides-os.com — одна и та же программа! Я скачал несколько разных программ из разных разделов и все они были одного размера и с одинаковым содержимым!
Внутри оказалось нечто, которое по беглому анализу ресурсов оказалось приложением, запрашивающим активацию путем отправки SMS. Попробуем разобраться, куда и что отправляется…
+30
Новый троян, данные о вирусах
2 мин
2.9KВ экосистеме Android'а появилось интересное творение неизвестных рук, способное записывать исходящие разговоры с устройства, сохраняя их в .amr формате на SD-карту аппарата. Названный Golddream.A и обнаруженный специалистом по безопасности (Dinesh Venkatesan) из компании CA Technologies.
Процесс по которому все происходит прост до банальности — как только вы устанавливаете на устройств зараженное приложение, оно сбрасывает конфигурационный файл на девайс, немного уточняющий параметры «удаленного сервера» и работы приложения. Как только это сделано — докачивается небольшой функционал, собственно, автоматической записи голосовых звонков с последующим сохранением. Венкасетан протестировал вредоносное ПО в двух мобильных эмуляторах и результат был одинаковым — на карте появялась папка callrecord с файлами записи каждого «разговора». Особенно интересно что у Golddream есть конфигурация для загрузки этих файлов на удаленный сервер.
Строго говоря — вирусное и прочее подобное ПО начало расти в Android Market'е как грибы после дождя в феврале 2011 года, когда впервые появился DroidDream. Было удалено более 50 приложений содержащих код трояна, но их создатели не успокаивались — вслед пришли GGTracker и DroidDream Light, работающие по одному и тому же принципу.
Процесс по которому все происходит прост до банальности — как только вы устанавливаете на устройств зараженное приложение, оно сбрасывает конфигурационный файл на девайс, немного уточняющий параметры «удаленного сервера» и работы приложения. Как только это сделано — докачивается небольшой функционал, собственно, автоматической записи голосовых звонков с последующим сохранением. Венкасетан протестировал вредоносное ПО в двух мобильных эмуляторах и результат был одинаковым — на карте появялась папка callrecord с файлами записи каждого «разговора». Особенно интересно что у Golddream есть конфигурация для загрузки этих файлов на удаленный сервер.
Строго говоря — вирусное и прочее подобное ПО начало расти в Android Market'е как грибы после дождя в феврале 2011 года, когда впервые появился DroidDream. Было удалено более 50 приложений содержащих код трояна, но их создатели не успокаивались — вслед пришли GGTracker и DroidDream Light, работающие по одному и тому же принципу.
+23
Управление контактами в Android (импорт, экспорт, перенос, настройка)
6 мин
714KПри покупке нового телефона всегда встаёт вопрос о переносе контактов из старого в новый. Всё проще если перенос производится с телефонами одной марки, (т.к. большинство производителей предусмотрели эту нехитрую задачу) или же если они изначально хранились на сим карте. Но ведь часто приобретаешь новый телефон от другого производителя или вовсе не пользуешься памятью сим карты, так как количество телефонов или другой нужной информации превысило возможности сим карт.
В статье будет рассмотрено:
- Варианты хранения контактов
- Получение копии контактов с телефонов Nokia S40, S60
- Синхронизация контактов
- Группировка контактов в телефонной книге
- Настройка уведомлений о днях рождения
- Обратная синхронизация с S40, S60
+32
Как я проходил собеседование в компанию Zynga
11 мин
27KНа Хабре опять стали появляться статьи о том, как проходить собеседования на должность программиста. Материал из них полезен соискателям так же, как учебники полезны студентам во время сессии. Вызубрите том по Мат. Анализу и, если попадете на тот экзамен, получите пятерку.
Гораздо интереснее читать реальные истории людей, которые описывают свой опыт собеседований в ту или иную известную компанию. Что спрашивали, что не спрашивали, какая была атмосфера, сколько проходило интервью? Такие данные много полезнее, чем «а зазубри еще это, авось спросят».
Итак, я хочу рассказать о том, как представители компании Zynga приезжали в Москву в поисках нужных людей. О своем опыте общения с ними, об ошибках и сделанных выводах.
Ну, и картиночка на затравку.
Гораздо интереснее читать реальные истории людей, которые описывают свой опыт собеседований в ту или иную известную компанию. Что спрашивали, что не спрашивали, какая была атмосфера, сколько проходило интервью? Такие данные много полезнее, чем «а зазубри еще это, авось спросят».
Итак, я хочу рассказать о том, как представители компании Zynga приезжали в Москву в поисках нужных людей. О своем опыте общения с ними, об ошибках и сделанных выводах.
Ну, и картиночка на затравку.
+242
Мир лицензий: Часто задаваемые вопросы про лицензии GNU GPL
5 мин
17KПеревод
Недавно я написал статью под названием Мир лицензий: разбираемся с GNU GPL, в которой постарался осветить мир gpl-лицензий, историю и различия в версиях. Статья вызвала большой резонанс, возникло много вопросов, споров. Чтобы немного прояснить ситуацию с GPL, я решил перевести часть официального GPL FAQ. В нем затрагиваются многие вопросы и разъясняются некоторые позиции лицензии. Надеюсь, данный перевод несколько прояснит ситуацию с GPL.
В дальнейшем я продолжу цикл публикаций про лицензии описанием BSD, Apache, MIT и других свободных и не очень лицензий. Кроме того, постараюсь затронуть вопрос лицензий в нашей стране. А пока, предлагаю почитать данный перевод.
В дальнейшем я продолжу цикл публикаций про лицензии описанием BSD, Apache, MIT и других свободных и не очень лицензий. Кроме того, постараюсь затронуть вопрос лицензий в нашей стране. А пока, предлагаю почитать данный перевод.
+51
Внутреннее устройство Git: хранение данных и merge
9 мин
88KВ процессе перехода с SVN на Git мы столкнулись с необходимостью переписывания наших внутренних инструментов, связанных с развёртыванием кода, которые ориентировались на существование линейной истории правок (и разработку в trunk). На Хабре уже публиковались возможные решения этой проблемы через Git-SVN, но мы пошли другим путём. Нам нужна поддержка таких возможностей Git, как branching и merge, поэтому мы решили разобраться в основах, как же работает Git и каким способом должна осуществляться интеграция с ним.
+77
Советы по Android Tabs
4 мин
41KПеревод
Вкладки являются одним из наиболее часто используемых и полезных компонент мобильных пользовательских интерфейсов. Вкладки обеспечивают быстрый и легкий доступ к различным частям приложения. В Android приложениях вкладки используются в различных формах. В некоторых случаях дизайн вкладок скопирован с других платформ, а в некоторых случаях используется устаревший дизайн старых версий Android. Это понятно, т.к. существует очень много различных реализаций вкладок в связи с тем, что дизайн Android не был определен в самом начале. Сейчас данная ситуация изменилась, и есть ориентир для дизайна пользовательского интерфейса с вкладками.
В этой статье я хотел бы взглянуть на текущее состояние интерфейсов с вкладками и дать несколько советов, как сохранить единообразный стиль платформы.
В этой статье я хотел бы взглянуть на текущее состояние интерфейсов с вкладками и дать несколько советов, как сохранить единообразный стиль платформы.
+41
Как вывести Paypal в России? Как открыть виртуальный счёт в США?
3 мин
82KТуториал
В один прекрасный день я задался вопросом — как выводить деньги из Paypal в Россию? Есть фишка — прямой вывод денег из Paypal для тех, кто не имеет счёта в Америке закрыт, т.е. не имея bank account в Америке, вы никак не сможете вывести деньги напрямую.
Однако мне было действительно жалко терять большой процент на комиссиях обменников (бешеные накрутки), поэтому я искал выход.
Ниже привожу инструкцию из 8 пунктов.
Однако мне было действительно жалко терять большой процент на комиссиях обменников (бешеные накрутки), поэтому я искал выход.
Ниже привожу инструкцию из 8 пунктов.
+84
60+ средств для разработки мобильных приложений
19 мин
149KПоявилось желание сделать свое приложение — быстро дешево и максимально полезно. Начал собирать информацию о современных инструментах разработки. Чтобы не потерять, а так же получить отзывы, мнения, комментарии и вообще любую полезную информацию, оформил в виде статьи.
Планирую использовать некоторые инструменты, и позже написать по ним более развернутый обзор. Итак, встречайте
1. Appmakr
appmakr.com
Платформы: iOS
Стоимость: free-$999, FREE- if you submit yourself to your own app store
Дополнительные услуги: Бесплатный доступ к ресурсам сайта.
Описание: Appmakr.com — веб-приложение, которое поможет вам создать приложения для айфона быстро и просто.
Замечания: Если вы не знаете как создать приложение для айфона, вы можете запросить помощь по телефону.
Владельцы могут размещать рекламу в своих приложениях и зарабатывать на ней.
Планирую использовать некоторые инструменты, и позже написать по ним более развернутый обзор. Итак, встречайте
1. Appmakr
appmakr.com
Платформы: iOS
Стоимость: free-$999, FREE- if you submit yourself to your own app store
Дополнительные услуги: Бесплатный доступ к ресурсам сайта.
Описание: Appmakr.com — веб-приложение, которое поможет вам создать приложения для айфона быстро и просто.
Замечания: Если вы не знаете как создать приложение для айфона, вы можете запросить помощь по телефону.
Владельцы могут размещать рекламу в своих приложениях и зарабатывать на ней.
+52
Как пришлось бороться с нестабильным Google C2DM
9 мин
6.2KТак уж случилось, что на работе я с небольшой командой единомышленников занимаюсь написанием приложений для смартфонов, в частности iТелефон и Андроид.
Начинали мы с разработок под iPhone, где все работало гладко и как положено.
А что работало? Основная задача приложения была послать запрос «Где ты?» — ничего сложного. Но уж очень хотелось бы этот запрос доставлять адресату как можно быстрее, пока он еще актуален. Здесь, имеющий опыт в разработках под iPhone, читатель скажет, что есть APN Service, и будет абсолютно прав. Именно им мы и пользовались, и не знали горя, ибо доставлялись эти уведомления быстрее секунды.
Затем по некоторым внутренним причинам мы перешли на разработки под Android и быстренько все портировали. В частности без каких-либо задних мыслей модуль работы с APN был заменен на аналогичный с C2DM.
На всех телефонах разработчиков проблем с доставкой уведомлений не было. А вот у новых пользователей сразу вскрылась огромная проблема — время доставки уведомления никак не гарантировано, и некоторые из них доходили через несколько часов. Причем на соседнем же устройстве они доходили за секунды.
В ходе исследования этой проблемы я натолкнулся на ряд странных особенностей работы этих уведомлений от Google.
Начинали мы с разработок под iPhone, где все работало гладко и как положено.
А что работало? Основная задача приложения была послать запрос «Где ты?» — ничего сложного. Но уж очень хотелось бы этот запрос доставлять адресату как можно быстрее, пока он еще актуален. Здесь, имеющий опыт в разработках под iPhone, читатель скажет, что есть APN Service, и будет абсолютно прав. Именно им мы и пользовались, и не знали горя, ибо доставлялись эти уведомления быстрее секунды.
Затем по некоторым внутренним причинам мы перешли на разработки под Android и быстренько все портировали. В частности без каких-либо задних мыслей модуль работы с APN был заменен на аналогичный с C2DM.
На всех телефонах разработчиков проблем с доставкой уведомлений не было. А вот у новых пользователей сразу вскрылась огромная проблема — время доставки уведомления никак не гарантировано, и некоторые из них доходили через несколько часов. Причем на соседнем же устройстве они доходили за секунды.
В ходе исследования этой проблемы я натолкнулся на ряд странных особенностей работы этих уведомлений от Google.
+22
AIDL (Android Interface Definition Language) и коммуникация между процессами (IPC)
5 мин
35KВ данной статье мы попытаемся описать свой опыт работы с AIDL в Android IPC.
В ней содержится пример приложения с сервисом, который запущен в отдельном процессе.
В ней содержится пример приложения с сервисом, который запущен в отдельном процессе.
+25
Пишем плагины для Android
4 мин
7.4KПо долгу службы мне уже полтора года доводится писать для платформы Android, и вроде бы знания мои в данной области обширны, но и на хабре объем уже охваченных тем не мал. В общем-то после долгих рассуждений решил я поведать хабралюдям о данной теме.
+29
Информация
- В рейтинге
- Не участвует
- Откуда
- Москва, Москва и Московская обл., Россия
- Дата рождения
- Зарегистрирован
- Активность