Архив Февраль 2008

Об одном стартапе…

Пятница, 29 Февраль, 2008

Интересно, кому я не обещал, что обязательно покажу, чем занимаюсь “на следующей недельке”? Причем обычно через неделю ситуация повторяется :)

Наконец выхожу из тени. Занимаюсь я стартапом Делаю.РУ -сервисом микроблогов для друзей, которые постоянно вами интересуются. Да и мы ими - тоже :)

Основная функциональность стандартна - можно вести блог, читать блоги друзей, а также приглашать новых по e-mail. Что есть из интересного?

  • Смайлики. Мы решили, что очень приятно, когда ты пишешь “не в пустоту”, а явно видишь реакцию своих знакомых. Стандартный способ для этого в сервисах такого типа - возможность комментирования записей. Но этот способ нам не нравился - одной из идей было, что пользователь должен видеть все обновления на одной странице (как почту - зашел, проверил), и, по возможности, в логическом порядке. Кроме того, в комментариях можно написать что-то обидное, что всегда неприятно. Так что от комментариев осталась одна идея - кнопка , по которой можно поставить смайл.
  • Счетчик перехода по ссылкам. Ну, тут идея простая - когда публикуешь ссылку, всегда интересно, сколько людей ею воспользовалось.
  • Мобильная версия. Мобильные версии, конечно, стары, как мир, однако мне она несколько раз очень хорошо пригодилась - когда мы ездили на конкурсы, я мог “в реальном времени” писать, успешно ли мы выступаем. Интересная технологическая тонкость - сделано так, что не нужно вводить логин/пароль, что с мобильного всегда затруднительно, а нужно лишь добавить в закладки мобильника ссылку с API Key - ключом, благодаря которому производится распознавание пользователя. Т.е. вполне можно читать закрытые ленты, скажем. Аналогичное решение сделано для RSS-лент.
  • Флеш-беджики, десктопная версия на AIR и API для сторонних приложений. Конечно, все это - способы популяризации сервиса. Флеш-беджики уже почти сделаны, пример можно посмотреть на главной странице моего блога. Они отображают последние записи на любой странице, куда вы их повесите, не требуют еды, воды и кешируют записи на целый час, благодаря чему (в перспективе их широкого использования) будет сильно снижена нагрузка на сервер. Интерфейс для подключения флеш и флекс-приложений уже готов, так что у меня буквально чешутся руки (как только разберусь с остальным) сесть и создать мультиплатформенного десктопного клиента (на AIR) к нашему сервису. Чтобы сидел в трее, да проверял сообщения иногда. Ну, и зарелизить API, открыв, таким образом, доступ для расширения функциональности всем желающим (видимо, коллегам по RAFPUG :)

Вот так и работаю - понемногу. Читать мой микроблог можно здесь - http://delayu.ru/user/1. В микроблоге я пишу про себя, про какие-то маленькие находки, на которые неудобно делать содержательную запись в блоге. Регистрируемся, не стесняемся, всех найду и добавлю в друзья :) Кто очень стеснительный - читать меня на Делаю можно через RSS-ленту.

Apollo Desktop Photos 1.2

Среда, 27 Февраль, 2008

Ну, что можно сказать - ура, вышел AIR 1.0! Теперь можно писать приложения, не опасаясь за их дальнейшую судьбу - а именно, что придет время, когда не будут работать бета-версии рантаймов. Так что если кто не знает - необходимо обновить свои приложения!

Картинки на телефон

Приятно, что хотя финальная версия вышла только в понедельник, Claus Wahlers уже обновил свою библиотеку AIR Remote Updater для удаленного автообновления программ. Кстати, если будете писать AIR-приложения, очень советую - пользовать довольно удобно.

В свою очередь, я обновил свой небольшой фотобраузер, который пишу аж с тех далеких времен, когда AIR называлась словом Apollo и была в альфа-версии. Автообновление поддерживается :)

Скачать Apollo Desktop Photos 1.2

Скачать Adobe Integrated Runtime (AIR) 1.0 

Использование Web-сервисов под Flex 2

Четверг, 21 Февраль, 2008

Бродя по сети, наткнулся на FleXtense -программу, которая создает по WSDL (определениям Web-сервиса) AS3 proxy-классы для соответствующих вызовов.

В ихних примерах есть программа, похожая на ту, что демонстрировали евангелисты на RAFPUG-2 - а именно, получение погоды с веб-сервиса. Поскольку Flex 3, в котором есть похожая функция, еще не вышел, а 3-я бета демонстрирует не очень стабильную работу, может, кому и пригодится.

О компьютерных играх

Четверг, 21 Февраль, 2008

Читаю про разработку компьютерных игр (хотя, вероятно, будет интересно только людям, непосредственно с этим столкнувшимся, или интересующимся общими вопросами по управлению проектами)

http://dtf.ru/articles/read.php?id=3755 - Игры: как это делается (юмористическое)
http://www.dtf.ru/blog/read.php?id=49888 - Практическое руководство для молодых команд

Пара моих демо-игр: http://gm2flex.janvarev.ru/Examples (с использованием флекса, используется собственноручно разработанная библиотека)

О RAFPUG-3

Понедельник, 18 Февраль, 2008

Напишу-ка я впечатления о прошедшем мероприятии.

Как сказал Артемий Малков, “очень приятно, что народ собирается за полчаса до начала регистрации”. Действительно, я был в Торонто уже в 13-15, и уже в это время там было несколько людей, включая Александра Козловского, докладчика по AIR и Papervision 3D. Пообщавшись с ним, я узнал, что Design Mode в последней версии Flex Builder 3 beta 3 падает не у меня одного :) так что, увы, но до выхода финальной версии Flex 3 нормально, с визуальным редактором разрабатывать приложения под AIR большинству из нас не светит. Александр же, как настоящий мастер, использует для этого бубен, и у него все получается :)

Первым делом Артемий рассказал о конкурсе русских флеш-работ Russian Flash Awards - 2008, показав, насколько я понял, собственноручно подготовленный видеоролик с демонстрацией работ победителей прошлых конкурсов. В этом году появилась поддержка Adobe, а также несколько дополнительных номинаций - конкурс по Flex и AIR-приложениям. Прием работ - до 30 апреля 2007.

Далее производилась раздача призов, выигранных в предыдущую встречу RAFPUG, во время приезда евангелистов от Adobe. Выигравшим Flex Builder 3 было обещано, что он обязательно появится, когда его выпустят, и розданы майки с логотипом. К Александру таки добрался iPod nano.

Далее Александр провел доклад по использованию в AIR:

  • прозрачных окошек;
  • Papervision 3D;
  • Нативного Drag-and-Drop-а файлов;
  • Использования Tray-иконок;
  • Обновления приложения средствами AIR.

В общем, очень большой объем материала был представлен нам в очень сжатые сроки. Мне лично доклад был очень интересен, но я уже многократно щупал AIR, так что мог схватывать “на лету”. Для тех, кто хочет разобраться поподробнее, Александр обещал выложить исходники в своем блоге.

(Для тех, кто был на встрече - там обсуждались AS3-библиотеки FZip и AIRRemoteUpdater, их можно найти здесь)

После чего был чай и кофе. К сожалению, совершенно без плюшек.

Вторая часть встречи - Hands-on по Флексу. Идея, как её озвучил Артемий со ссылкой на Ростислава,”чтобы не щупавшие флекс флешеры наконец потеряли флекс-девственность” :)) В такой формулировке желающих сделать это публично почему-то не оказалось, и Артемий после чая начал рассказывать про Binding данных во флексе с надеждой, что кто-то все-таки осмелится выйти и написать хоть небольшой кусок кода.

В это время прогрессивная часть разработчиков устроила что-то подобное своего Hands-on в районе термосов с чаем и кофе, благо ноутбуки были. К сожалению, не смогу назвать всех участников этого импровизированного представления (не знаю имен, прошу извинить), но, например Александр Козловский и Таня Белая помогали в отладке SkyBox в Papervision 3D, я общался с молодым флекс-разработчиком Максимом Павловым, демонстрируя некоторые собственные разработки, при наличии наблюдающего за этим процессом Dl1t.

К сожалению, по некоторым независящим от меня причинам, на этом моменте мне пришлось покинуть встречу разработчиков, но могу сказать, что мне очень понравилось :)

Пощупать Флекс или Hands-on на RAFPUG-3

Воскресенье, 17 Февраль, 2008

Буквально 5 минут назад прочитал последний вариант программы RAFPUG-3. В программе предусмотрен Hands-on для флешеров, которые хотят “пощупать” Flex.

Хочу внести свои пять копеек: я планирую приехать с ноутом, и буду в этот момент показывать всякие свои наработки в области флекса. О себе: юзаю AMFPHP и собственный небольшой фреймворк. Можно просто подсаживаться и смотреть.

Если никому не будет интересно, буду просто сидеть, работать или смотреть, как осваивают Flex другие :)

До встречи!

Распределенные вычисления “нахаляву”

Пятница, 8 Февраль, 2008

Навеяно http://stary71.livejournal.com/5875.html и постом Роста “Две идеи на мильон”. Несмотря на то, что я буду немножко критиковать вышеупомянутые идеи, для меня это всего лишь повод рассказать о моих реальных приключениях на ниве распределенных вычислений.

Итак, идея. Есть ОЧЕНЬ БОЛЬШОЙ объем вычислений, который можно распараллелить для их исполнения на множестве машин. Соответственно, тот, кому надо эти вычисления выполнить, согласен за это заплатить. Как это можно использовать:

1. Продавать в MMORPG время машин юзеров, которые в неё играют, и таким образом окупать игру.

2. Заставить считать сложные вычисления флеш-баннеры.

Радует, что идеи очень позитивные и оригинальные :)

Начнем с того, что есть. А есть открытая (Open Source) платформа BOINC от института Berkeley, которая позволяет производить распределенные вычисления на разных машинах. Лично я принимал участие в проекте Rosetta@home в команде TSC! Russia.

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

Во-вторых, BOINC-платформа исполняет native-код. В свое время, во время курса “Параллельная обработка данных” мне засела в голову мысль, что можно написать более удобную платформу, чем BOINC, а именно, на базе AIR. Главным преимуществом могли стать система автообновления, встроенные примитивы для работы с сетевыми протоколами, а также универсальный клиент для разных операционных систем.

Увы, первые же эксперименты меня серьезно отрезвили. В качестве задачи была взят взлом MD5-хеша (задача: дан MD5-хеш от строки, найти строку. Решается полным перебором, обратная функция на данный день неизвестна). Задача очень легко параллелится.

Native-программа, которую я взял для сравнения, считала хеши в 1000(!) раз быстрее, чем написанная мною на AIR. Т.е. при распределенных вычислениях, когда основной проблемой является привлечение пользователей, мне для достижения той же эффективности, что и BOINC, придется привлечь в 1000 раз больше пользователей. Нереально :( Но если AS3-машину еще улучшат, я попробую :)

И, наконец, третье. Я уже упоминал, что свои вычисления проводил в рамках некоей команды (TSC! Russia). За вычисления в системе дают некоторые очки, которые создают спортивный момент мероприятия. Последнее - немаловажный фактор, благодаря чему отдельные люди объединяются в команды. Соответственно, наиболее рьяные вычислители, чтобы получить побольше очков, подключают все машины, которые находятся в их ведении, например, на работе или в институте, когда машины простаивают. И, насколько я мог судить, именно эти машины обеспечивают главную долю вычислительных ресурсов. Увы, если я прав, вариант с MMORPG тоже отпадает.

Ну, и наконец, сладкое. Считал я в Rosetta@home дней 7, подключил две машины, наслаждался вкладом в общемировой прогресс :) Однако в один прекрасный день из-за Розетты обе мои машины свалились в “синий экран смерти”, причем, благодаря тому, что программа прописалась в автозагрузке, на сервере пришлось “выковыривать” её в Safe-режиме. После чего я её благополучно удалил.