технические проблемы и идеи, родившиеся в бурных водах реки Abava (а равно как и на ее берегах, далеких и близких), выставленные на всеобщее обсуждение
Wednesday, June 11, 2008
Айпонизация всей страны
А вот интересно, в связи с появлением iPhone за $199 - что в глобальном плане делать будут делать другие вендоры? Скорее всего при такой цене Apple рассчитывает зарабатывать на сервисах. И вот тут-то, очевидно, проявится то, о чем столько лет говорили большевики в AbavaNet - только открытые интерфейсы для разработчиков могут помочь. Чтобы сервисов на других платформах было больше. iPhone, на самом деле, не очень-то дружелюбная среда для разработчиков (см. хотя бы все ограничения в их SDK). Так что реально другим производителям переманить программистов на свои платформы.
Tuesday, June 10, 2008
eXo платформа
Open Source альтернатива Microsoft Sharepoint - eXo. Реально много нового добавили со времени, когда мы последний раз пользовались этим продуктом. Язык реализации - Java.
Абавазрение 10.06.2008
Некоторые интересные ресурсы:
1. Сравнительный анализ. Набор инструментов для веб-мастеров по сравнительному анализу сайтов (посещаемость, индексация и т.п.)
2. Шаблоны разработки с использованием REST. Полезный материал для разработчиков.
3. Учебник по GWT
4. Coldtags suite - большая библиотека веб-компонент для JSP и/или Coldfusion.
1. Сравнительный анализ. Набор инструментов для веб-мастеров по сравнительному анализу сайтов (посещаемость, индексация и т.п.)
2. Шаблоны разработки с использованием REST. Полезный материал для разработчиков.
3. Учебник по GWT
4. Coldtags suite - большая библиотека веб-компонент для JSP и/или Coldfusion.
Monday, June 09, 2008
Ad manager сервер
Интересная Open Source реализация сервера для рекламы: OpenX. Список технических возможностей довольно внушителен. Включена даже база MaxMind (это геокодинг для IP адресов), чтобы можно было показывать рекламу в зависимости от местоположения клиента. В определенных случаях, может быть альтернативой бесплатному хостинговому решению от Google.
Sunday, June 08, 2008
Подкастерам в дорогу
Для любителей подкастов (а также для создаетелей wap-сайтов, мобильных порталов и т.д.) - простой WAP сервис http://pod.linkstore.ru (это WAP - ссылка). Он позволяет получить прямые линки для загрузки последних mp3 файлов из популярных подкастов. Можете использовать эту ссылку в своих мобильных сайтах.
P.S. ну а без загрузки mp3 файла подкасты по прежнему можно слушать простым звонком. Cм. Подкасты по телефону. Газету Ведомости, например, реально слушают по телефону
P.S. ну а без загрузки mp3 файла подкасты по прежнему можно слушать простым звонком. Cм. Подкасты по телефону. Газету Ведомости, например, реально слушают по телефону
Об iPhone
Одним из источников слухов о грядущих разработках Apple всегда была информация о заполненных ими патентных заявках. Вот еще одна по iPhone. Что будет: текстовый чат, Quicktime и Flash в Safari, клиент для публикации в блогах, MMS и видео-сообщения, видеоконференции. Кстати, из этого описания следует, что Java на iPhone будет.
Saturday, June 07, 2008
Архитектура LinkedIn
Интересная подборка презентаций по архитектуре LinkedIn: как показывать 40 миллионов страниц в день на Tomcat. Что интересно - есть еще и исторический разрез: как проект менялся с ростом числа пользователей. Некоторые заметки о текущем состоянии:
- весь граф связей кэширован в оперативной памяти (это 22M узлов и 120M ребер - 12 Gb памяти)
- сам кэш реализован на C++, остальные Java приложения обращаются к нему через JNI. Причина - сборщик мусора в Java, который занимал много ресурсов на таком громадном числе объектов
- коммуникационные сервисы основаны на JMS
- используют старый трюк с BLOB (CBLOB) полями: заменили их на строки VARCHAR(4000). И только если строка переполняется - заводят CBLOB. Это отменяет большой процент дорогих, с точки зрения реализации, операций с CBLOB (до 90% по их оценкам)
- весь граф связей кэширован в оперативной памяти (это 22M узлов и 120M ребер - 12 Gb памяти)
- сам кэш реализован на C++, остальные Java приложения обращаются к нему через JNI. Причина - сборщик мусора в Java, который занимал много ресурсов на таком громадном числе объектов
- коммуникационные сервисы основаны на JMS
- используют старый трюк с BLOB (CBLOB) полями: заменили их на строки VARCHAR(4000). И только если строка переполняется - заводят CBLOB. Это отменяет большой процент дорогих, с точки зрения реализации, операций с CBLOB (до 90% по их оценкам)
Friday, June 06, 2008
IT outlook
Продолжая эксперименты с Google Partner Bar API (см. здесь, например, об IT blogs или здесь о GTV) - еще один mashup: IT outlook. Асинхронная загрузка данных со сторонних сайтов и представление данных в виде notes.
Thursday, June 05, 2008
Google Maps Mania - 8
Появились новые записи и пришло время выпустить очередное обновление для списка проектов (систем), выполненных на базе Google Maps. То, с чего все началось, можно посмотреть здесь. Итак:
Информационные системы:
Авто-услуги
Агентство недвижимости Спб
Афиша
Все аптеки
Все банкоматы.ru
Где этот дом
Донецк
Зеленоград
Карта кофемана
Карта цен на квартиры в Москве
Карта рыбака
Картакадабра
Квартиры в Москве
Квартиры в Пензе
Квартиры в Питере
Кинотеатры в Москве
Маршруты в Москве
МАКС 2007
Местная погода
Мурманск
Недвижимость на карте
Новостройки в Сибири
Окрестности Екатеринбурга
Отели Египта
Пермь
Пермь на карте
пос. Правдинский
Пушкино
Погода на карте
Путешествия
Путешествия с Google Maps
Путешествия и карты
Путешествия на карте
4 туриста
Туристические карты
Туристические блоги
Роддома Москвы и Санкт-Петербурга
Сеть распространения печатной продукции
Сноуборд
Храмы России
Православная архитектура - каталок
Cosmopolitan шоппинг
Фото-биеннале
Футбольные поля
Live Events
National Geographic Traveler
User generated content (geo tagging):
Geo links
Geo SMS
GPS треки
View and organize geographical data
WikiMapia
WiFi навигация
Инструменты:
Big map
Geo traceroute
Google Msk TV
Metro map
Мобильные карты
Maps2lj - публикация карт в ЖЖ
Технические аспекты
Социальные сети:
Вокруг меня
За баранкой
Мир Тесен
Отдыхали.ru
Соседи-онлайн
Гаджеты и карты:
Атлас Москвы
Ветеринарные клиники в Москве
Видеокамеры ГАИ
Веб-камеры в России
Веб-камеры в Москве
Цены на жилье
Маршруты Москвы (гаджет)
Москва, район Аэропорт
Мото-сайт: помощь в дороге
Новые рестораны
Поджоги машин в Москве
Посадочные модули на Луне
Посадочные модули на Марсе
Публичные туалеты в Москве
Совы и Девы в Спб
Точечная застройка в Москве
Штрафные автостоянки в Москве
Черный список бензоколонок
Кого-то пропустили? Что-то новое? Пишите, список будем обновлять.
Информационные системы:
Авто-услуги
Агентство недвижимости Спб
Афиша
Все аптеки
Все банкоматы.ru
Где этот дом
Донецк
Зеленоград
Карта кофемана
Карта цен на квартиры в Москве
Карта рыбака
Картакадабра
Квартиры в Москве
Квартиры в Пензе
Квартиры в Питере
Кинотеатры в Москве
Маршруты в Москве
МАКС 2007
Местная погода
Мурманск
Недвижимость на карте
Новостройки в Сибири
Окрестности Екатеринбурга
Отели Египта
Пермь
Пермь на карте
пос. Правдинский
Пушкино
Погода на карте
Путешествия
Путешествия с Google Maps
Путешествия и карты
Путешествия на карте
4 туриста
Туристические карты
Туристические блоги
Роддома Москвы и Санкт-Петербурга
Сеть распространения печатной продукции
Сноуборд
Храмы России
Православная архитектура - каталок
Cosmopolitan шоппинг
Фото-биеннале
Футбольные поля
Live Events
National Geographic Traveler
User generated content (geo tagging):
Geo links
Geo SMS
GPS треки
View and organize geographical data
WikiMapia
WiFi навигация
Инструменты:
Big map
Geo traceroute
Google Msk TV
Metro map
Мобильные карты
Maps2lj - публикация карт в ЖЖ
Технические аспекты
Социальные сети:
Вокруг меня
За баранкой
Мир Тесен
Отдыхали.ru
Соседи-онлайн
Гаджеты и карты:
Атлас Москвы
Ветеринарные клиники в Москве
Видеокамеры ГАИ
Веб-камеры в России
Веб-камеры в Москве
Цены на жилье
Маршруты Москвы (гаджет)
Москва, район Аэропорт
Мото-сайт: помощь в дороге
Новые рестораны
Поджоги машин в Москве
Посадочные модули на Луне
Посадочные модули на Марсе
Публичные туалеты в Москве
Совы и Девы в Спб
Точечная застройка в Москве
Штрафные автостоянки в Москве
Черный список бензоколонок
Кого-то пропустили? Что-то новое? Пишите, список будем обновлять.
Yahoo - дизайнерам
Дизайнерские рекомендации от Yahoo. Рассмотрены следующие компоненты:
* Ad Units
* Calendars
* Carousels
* Charts and Tables
* UI Controls
* Form Elements
* Grids
* Menus and Buttons
* Mobile - General
* Mobile - iPhone
* Navigation and Pagination
* OS Elements
* Placeholder Text
* Screen Resolutions
* Tabs
* Windows and Containers
Что интересно - описание содержит прямые ссылки на то, как реализовать соответствующий элемент в YUI библиотеке.
* Ad Units
* Calendars
* Carousels
* Charts and Tables
* UI Controls
* Form Elements
* Grids
* Menus and Buttons
* Mobile - General
* Mobile - iPhone
* Navigation and Pagination
* OS Elements
* Placeholder Text
* Screen Resolutions
* Tabs
* Windows and Containers
Что интересно - описание содержит прямые ссылки на то, как реализовать соответствующий элемент в YUI библиотеке.
Wednesday, June 04, 2008
Архитектура BBC
Презентация по архитектуре BBC. Что интересно: используют PHP как front-end (практически - Zend), а серверная часть - Java (Spring)
Open Cell ID
Открытая база Cell ID: http://www.opencellid.org/. Координаты сотовых ячеек по всему миру. У базы есть свой API, так что координаты можно запрашивать программно. Подобная информация используется, например, в Google MyLocation. А судя по этой заметке, определять координаты без GPS научилась и Nokia. И действительно интересный вопрос - ведь и Google, а теперь и Nokia могут начать продавать доступ к своей базе ячеек. Это ведь реально "без-операторское" позиционирование.
Tuesday, June 03, 2008
Google I/O
Что интересного нашли в обзорах Google I/O (здесь, например):
1. BrowserView в Android будет иметь доступ через JavaScript (с разрешения пользователя) к системным возможностям телефона (например, координатам, контактной информации). А это означает, между прочим, что можно будет все программирование для Android делать в веб. Нативные интерфейсы использовать только для связи с веб-приложениями.
2. Android Developer Challenge II, скорее всего, начнется в начале следующего года. Поскольку его традиционно связывали с программированием уже на живых телефонах, то соответственно, их (телефонов) появление тоже откладывается, скорее всего, до конца 2008 года.
3. Gears будет на Android телефонах
1. BrowserView в Android будет иметь доступ через JavaScript (с разрешения пользователя) к системным возможностям телефона (например, координатам, контактной информации). А это означает, между прочим, что можно будет все программирование для Android делать в веб. Нативные интерфейсы использовать только для связи с веб-приложениями.
2. Android Developer Challenge II, скорее всего, начнется в начале следующего года. Поскольку его традиционно связывали с программированием уже на живых телефонах, то соответственно, их (телефонов) появление тоже откладывается, скорее всего, до конца 2008 года.
3. Gears будет на Android телефонах
Модель использования Asterisk
Мы продолжаем публикации интересных работ, выполненных под эгидой магистратуры ВМК МГУ (см., например, здесь).
На этот раз речь пойдет о работе А.Устинова, в которой рассмотрена очень интересная модель использования Asterisk.
Традиционно, вы можете прочесть об использовании Asterisk для VOIP телефонии, как программной PBX и т.д. Здесь же предлагается рассматривать Asterisk исключительно как платформу разработки приложений. Иными словами - сервис приложений Asterisk. Открытые API Asterisk позволяют писать обработку вызовов, используя достаточно высококоуровневые средства. Но и это еще не все. А что если мы добавим к Astwerisk компоненту, которая будет переводить телекоммуникационные события (читай - звонки) в HTTP запросы. Это даст возможность разрабатывать сервисы как обычные CGI-скрипты. Сервисы при этом вынесены с телекоммуникационной площадки и располагаются отдельно (на внешних хостингах). Информацию о событиях они получают в виде HTTP запросов. И реплики на эти запросы возвращают команды Asterisk на дальнейшие действия. Эта схема иллюстрируется следующим рисунком:

Предолженный подход интеграции телефонии и веб, на самом деле, уже проверялся ранее и доказал свою работоспособность. Впрвые это было сделано компанией AbavaNet для платформы Telsis в Audiotele. Там протокол INAP переводился в HTTP (с той же самой идеей - разрабатывать сервисы как обычные CGI скрипты). Далее, подобный подход был продемонстрирован на SI 2000 компании Искрател (для протокола CSTA). А теперь это практически проверено и для Asterisk. Модельный прокси переводит звонки в HTTP запросы и воспринимает в качестве ответов три типа реплик: терминировать звонок (например, для систем голосования - отметить факт звонка и завершить его), проигрывание медиа-файлов (информационные системы, автоответчики etc.) и переадресация звонка (услуги типа виртуальный номер, например).
Более детально это будет рассмотрено в готовящейся статье А.Устинова. Также, код предложенного прокси будет опубликован, так что можно будет попробовать этот подход, что называется "вживую". Очевидно, что подобного рода подход серьезно снижает входной барьер для разработки телекоммуникационных сервисов (не нужно изучать новые API, нет ограничений по средствам разработки - теперь сервис это обычный CGI скрипт). Заинтересованные лица приглашаются к обсуждению. Между прочим, представленная разработка являет собой прекрасную базу для телекоммуникационного или Open Source стартапа. Средства разработки для Asterisk - более чем востребованная тема.
На этот раз речь пойдет о работе А.Устинова, в которой рассмотрена очень интересная модель использования Asterisk.
Традиционно, вы можете прочесть об использовании Asterisk для VOIP телефонии, как программной PBX и т.д. Здесь же предлагается рассматривать Asterisk исключительно как платформу разработки приложений. Иными словами - сервис приложений Asterisk. Открытые API Asterisk позволяют писать обработку вызовов, используя достаточно высококоуровневые средства. Но и это еще не все. А что если мы добавим к Astwerisk компоненту, которая будет переводить телекоммуникационные события (читай - звонки) в HTTP запросы. Это даст возможность разрабатывать сервисы как обычные CGI-скрипты. Сервисы при этом вынесены с телекоммуникационной площадки и располагаются отдельно (на внешних хостингах). Информацию о событиях они получают в виде HTTP запросов. И реплики на эти запросы возвращают команды Asterisk на дальнейшие действия. Эта схема иллюстрируется следующим рисунком:
Предолженный подход интеграции телефонии и веб, на самом деле, уже проверялся ранее и доказал свою работоспособность. Впрвые это было сделано компанией AbavaNet для платформы Telsis в Audiotele. Там протокол INAP переводился в HTTP (с той же самой идеей - разрабатывать сервисы как обычные CGI скрипты). Далее, подобный подход был продемонстрирован на SI 2000 компании Искрател (для протокола CSTA). А теперь это практически проверено и для Asterisk. Модельный прокси переводит звонки в HTTP запросы и воспринимает в качестве ответов три типа реплик: терминировать звонок (например, для систем голосования - отметить факт звонка и завершить его), проигрывание медиа-файлов (информационные системы, автоответчики etc.) и переадресация звонка (услуги типа виртуальный номер, например).
Более детально это будет рассмотрено в готовящейся статье А.Устинова. Также, код предложенного прокси будет опубликован, так что можно будет попробовать этот подход, что называется "вживую". Очевидно, что подобного рода подход серьезно снижает входной барьер для разработки телекоммуникационных сервисов (не нужно изучать новые API, нет ограничений по средствам разработки - теперь сервис это обычный CGI скрипт). Заинтересованные лица приглашаются к обсуждению. Между прочим, представленная разработка являет собой прекрасную базу для телекоммуникационного или Open Source стартапа. Средства разработки для Asterisk - более чем востребованная тема.
Monday, June 02, 2008
Архитектура Wikipedia
Презентации по архитектуре Wikipedia. Довольно простое устройство, с точки зрения server side программирования. Практически статические страницы, кэширование просто описывается в заголовках HTTP и основано на If-Modified-since заголовке. Используют PowerDNS - для учета географии запросов.
Sunday, June 01, 2008
Объявления
В попытках спасти газетный бизнес (см. здесь, например), коллективный разум создал сайт с довольно интересными мыслями и дискуссиями о том, как должны выглядеть classified в новых экономических условиях.
Кстати, нам тоже есть что предложить здесь. Наш старый проект Объявления 2.0
Кстати, нам тоже есть что предложить здесь. Наш старый проект Объявления 2.0
Saturday, May 31, 2008
Все, что нужно
CTIA-The Wireless Association оценила эффект воздействия беспроводного широкополосного доступа на экономику США. БШПД и голосовые сервисы превысят $427 миллиардов к 2016 году. Дополнительно для GDP они принесут $860 миллиардов в течение следующих 10 лет. Отсюда.
Не мылится
Cisco хочет заменить SOAP новым протоколом. Причина - лучшая производительность. Реализация будет доступна по Open Source лицензии. Компания надеется, что протокол будет стандартизован. Интересно, при таком господстве REST в интерфейсах - так ли интересен SOAP (или его замены)? Кажется, это просто лишние проблемы для разработчиков. До этого Google заменял XMPP, теперь вот Cisco
Friday, May 30, 2008
О свободе
ПЕТЕРБУРГ, 14,V.
Служащим женщинам-телеграфисткам в петербургском телеграфе дано разрешение выходить замуж за кого они хотят.
До сего времени женщины-телеграфистки имели право выходить замуж только за телеграфных чиновников. Делалось это в целях сохранения телеграфной тайны.
"Русское Слово" 28(15) мая 1905 года. Отсюда
Служащим женщинам-телеграфисткам в петербургском телеграфе дано разрешение выходить замуж за кого они хотят.
До сего времени женщины-телеграфистки имели право выходить замуж только за телеграфных чиновников. Делалось это в целях сохранения телеграфной тайны.
"Русское Слово" 28(15) мая 1905 года. Отсюда
Новое от Google
1. Энциклопедия веб-разработки Doctype. Представленные темы: web security, работа с JavaScript DOM и CSS.
2. Новый API для Google Maps. На этот раз - использование Flash. Вот интересный пример использования: MapRooms. Попробуйте зайти в одну "комнату" из двух разных браузеров. Все, что рисуется в одном окне - немедленно отображается в другом.
Другим использованием этого API может быть, между прочим, публикация карт в livejournal.com. JavaScript там запрещен, а Flash публиковать можно. В проекте GeoLinks для публикации в ЖЖ был даже сделан специальный экспорт в maps2lj. Теперь все можно делать непосредственно с Google интерфейсами.
3. Google static maps. Позволяет публиковать статические изображения карт. Одно из использований - мобильные сайты. Вот характерный пример - Мобильные карты.
4. Google Earth API. Появился plugin для браузера, который позволяет просматривать 3-х мерные модели. А собственно API позволяет использовать новые возможности программно. Добавить 3-х мерный вид для существующих мэшапов - реально одна строка кода. Вот, например, в Большой карте вы можете увидеть вверху новый тип представления - Earth.
2. Новый API для Google Maps. На этот раз - использование Flash. Вот интересный пример использования: MapRooms. Попробуйте зайти в одну "комнату" из двух разных браузеров. Все, что рисуется в одном окне - немедленно отображается в другом.
Другим использованием этого API может быть, между прочим, публикация карт в livejournal.com. JavaScript там запрещен, а Flash публиковать можно. В проекте GeoLinks для публикации в ЖЖ был даже сделан специальный экспорт в maps2lj. Теперь все можно делать непосредственно с Google интерфейсами.
3. Google static maps. Позволяет публиковать статические изображения карт. Одно из использований - мобильные сайты. Вот характерный пример - Мобильные карты.
4. Google Earth API. Появился plugin для браузера, который позволяет просматривать 3-х мерные модели. А собственно API позволяет использовать новые возможности программно. Добавить 3-х мерный вид для существующих мэшапов - реально одна строка кода. Вот, например, в Большой карте вы можете увидеть вверху новый тип представления - Earth.
Thursday, May 29, 2008
Андроиды
Архитектура eBay - 2
Еще один интересный материал по архитектурным решениям на eBay. eBay - вообще интересная тема при изучении архитектур больших проектов, поскольку многие вещи они делают по своему. См. например, здесь или здесь.
В новом описании собраны воедино все их основные архитектурные принципы:
- разнесение функциональности по отдельным базам данных. Нет одной системы. 1000 баз данных на 400 хостах. 16 000 (!) серверов приложений
- балансировка нагрузки. Горизонтальное разделение сервисных запросов между идентичными серверами. Причем разделение касается и баз данных. Данные (например, по диапазону значений ключа) разнесены по разным серверам.
- никаких распределенных транзакций
- использование асинронных запросов
- виртуализация на всех уровнях. Приложения, например, взаимодействуют с некоторой логической базой данных, которая отдельным образом отображается на конкретную систему в конфигураторе. Это явно привнесено под воздействием J2EE
- развитый кэш
Полезный материал.
В новом описании собраны воедино все их основные архитектурные принципы:
- разнесение функциональности по отдельным базам данных. Нет одной системы. 1000 баз данных на 400 хостах. 16 000 (!) серверов приложений
- балансировка нагрузки. Горизонтальное разделение сервисных запросов между идентичными серверами. Причем разделение касается и баз данных. Данные (например, по диапазону значений ключа) разнесены по разным серверам.
- никаких распределенных транзакций
- использование асинронных запросов
- виртуализация на всех уровнях. Приложения, например, взаимодействуют с некоторой логической базой данных, которая отдельным образом отображается на конкретную систему в конфигураторе. Это явно привнесено под воздействием J2EE
- развитый кэш
Полезный материал.
Wednesday, May 28, 2008
О нас пишут
Заметка в блоге Google Maps mania о Мобильных картах - "Mobile Maps is another very simple but revolutionary idea". Лучше не скажешь :-)
Все мы там будем
Анонсированы Google Ajax libraries. Позволяют ускорить работу с популярными JavaScript библиотеками Prototype, Script.aculo.us, jQuery, Dojo и MooTools. Идея в том, что теперь их можно загружать, используя развитую серверную инфраструктуру Google. Не нужно копировать их на свой сервер для каждого проекта. Все - из одного источника. И большой кэш. Удобно - ничего не скажешь. Вот подробное объяснение на Ajaxian
Tuesday, May 27, 2008
Газета 2.0
Как выжить прессе в новых условиях? NY Times открывает API для доступа к собственным данным. А в России, насколько я понимаю, некоторые издания пытаются собирать деньги за доступ к свои старым текстам ...
Sunday, May 25, 2008
О геокодинге
Одна из интересных задач в геокодинге - это его автоматизация :-). По сути - возможность сделать его прозрачным для пользователей. Вот один из реальных примеров этого - наш проект MetroMap. Записи из существующих RSS фидов автоматически располагаются на карте, основываясь на упомянутых в тексте станциях метрополитена.
Вот еще одна интересная работа в этой области. Эта статья, на самом деле, излагает результаты магистерской диссертации автора (Г. Гусейнова), которую он защитил на факультете ВМиК МГУ. Здесь рассматривается общая задача - как в связном тексте выделить адресную информацию. Если, например, удастся выделить адрес (адреса) из текстовой статьи, то далее, можно воспользоваться сервисом геокодинга Google (или Yahoo) и получить координаты. В работе был предложен эвристический алгоритм поиска адресов. Эвристика, в принципе, предполагает, что мы не получим 100% результата, но приведенные в работе оценки результатов работы алгоритма (более 80% правильного распознавания) позволяют говорить о хороших возможностях практического применения.

Детали - здесь.
Вот еще одна интересная работа в этой области. Эта статья, на самом деле, излагает результаты магистерской диссертации автора (Г. Гусейнова), которую он защитил на факультете ВМиК МГУ. Здесь рассматривается общая задача - как в связном тексте выделить адресную информацию. Если, например, удастся выделить адрес (адреса) из текстовой статьи, то далее, можно воспользоваться сервисом геокодинга Google (или Yahoo) и получить координаты. В работе был предложен эвристический алгоритм поиска адресов. Эвристика, в принципе, предполагает, что мы не получим 100% результата, но приведенные в работе оценки результатов работы алгоритма (более 80% правильного распознавания) позволяют говорить о хороших возможностях практического применения.
Детали - здесь.
Saturday, May 24, 2008
Friday, May 23, 2008
Ericsson жив
Несколько интересных ссылок:
1. Java библиотека для построения Parlay X сервисов - Telecom web services SDK
2. MMS SDK. Инструментарий для работы с MMS
3. Конкурс приложений для IMS. Запустили совместно с Sun. Срок - до 30 сентября 2008 года. Призовой фонд: $5000.
1. Java библиотека для построения Parlay X сервисов - Telecom web services SDK
2. MMS SDK. Инструментарий для работы с MMS
3. Конкурс приложений для IMS. Запустили совместно с Sun. Срок - до 30 сентября 2008 года. Призовой фонд: $5000.
Thursday, May 22, 2008
Абавазрение 22.05.2008
Некоторые интересные ресурсы:
1. Портал бесплатных иконок. Ясно, что иконок много, но каждый раз искать надоедает.
2. Учебник по компьютерным алгоритмам
3. Opera Widgets SDK. Разработка веб-компонент на взгляд Opera.
4. Jetty Continuation. Сравнительные таблицы преимуществ в масштабировании по сравнению со стандартным подходом (один запрос - один процесс). Может и не стоило в Facebook переходить на Erlang?
5. Bluetooth и IRDA маркетинг - Hypertag
1. Портал бесплатных иконок. Ясно, что иконок много, но каждый раз искать надоедает.
2. Учебник по компьютерным алгоритмам
3. Opera Widgets SDK. Разработка веб-компонент на взгляд Opera.
4. Jetty Continuation. Сравнительные таблицы преимуществ в масштабировании по сравнению со стандартным подходом (один запрос - один процесс). Может и не стоило в Facebook переходить на Erlang?
5. Bluetooth и IRDA маркетинг - Hypertag
Wednesday, May 21, 2008
Мобильные карты
Новый Google Maps mashup - Мобильные карты. Идея в том, что можно выбрать нужный фрагмент карты и послать сыылку на него
(в виде статической картинки!) мобильному пользователю. Или опубликовать у себя на мобильном сайте. В любом случае - для просмотра такой карты в итоге только и нужно, чтобы на мобильном телефоне можно было загрузить картинку. То есть эта схема будет работать даже для самых старых WAP браузеров.
Как это выглядит? На полноэкранной карте выберите нужный фрагмент, изменяя масштаб и перемещая карту. Маркер всегда отмечает центр карты. Перемещая карту, вы можете спозиционировать маркер на нужный объект. Далее - кликните на иконке с письмом. Указатель на фрагмент карты (готовый для просмотра на мобильном телефоне) можно переслать по email. Можете воспользоваться, например, SMTP - SMS шлюзом вашего оператора и послать в итоге SMS с картой нужному абоненту.
(в виде статической картинки!) мобильному пользователю. Или опубликовать у себя на мобильном сайте. В любом случае - для просмотра такой карты в итоге только и нужно, чтобы на мобильном телефоне можно было загрузить картинку. То есть эта схема будет работать даже для самых старых WAP браузеров.
Как это выглядит? На полноэкранной карте выберите нужный фрагмент, изменяя масштаб и перемещая карту. Маркер всегда отмечает центр карты. Перемещая карту, вы можете спозиционировать маркер на нужный объект. Далее - кликните на иконке с письмом. Указатель на фрагмент карты (готовый для просмотра на мобильном телефоне) можно переслать по email. Можете воспользоваться, например, SMTP - SMS шлюзом вашего оператора и послать в итоге SMS с картой нужному абоненту.
Facebook chat
Описание архитектуры Facebook Chat. Все базируется на циклических HTTP запросах. Ответ от XMLHttpRequest немедленно посылает посылает новый запрос. Таким образом организуется постоянный опрос клиентом чата (это iFrame на пользовательской веб-странице) сервера. Естественно, что при 70 миллионах пользователей такое количество запросов сильно нагружает веб-серверы. Отсюда и возник Erlang как реализация веб сервера - обработка запросов более легкая, чем в Apache.
Memcached
На DeveloperWorks (IBM) в продолжение своей серии об оптимизации PHP программ опубликован интересный материал по использованию memcached. От установки до программирования. См. здесь
Tuesday, May 20, 2008
Прием звонка
Здесь мы собрали воедино разные способы использования голосовых звонков в своих веб-приложениях, которые можно реализовать с помощью наших сервисов. Что мы имеем в виду? Это возможность пользователю "позвонить" в веб-приложение (блог, сайт, социальную сеть). А веб-приложению, соответственно, без использования специальных телекоммуникационных API, принять информацию о звонке. И использовать далее голосовые отклики пользователей. Что здесь может быть:
1. Блог-платформа как CMS (content management system). Вот на базе сервисов типа Голос ЖЖ (публикация голосовых сообщений в livejournal.com) или Голос Li.ru (то же самое для liveinternet.ru), которые непосредственно предназначены для публикации голосовых файлов в блогах, можно сделать сервис, который просто будет собирать голосовые звонки в указанном вами блоге. Безо всякой регистрации пользователей, просто сбор голосовых звонков и публикация аудио-файлов файлов в блоге. А у блога (журнала), естественно, есть RSS поток. Это уже сама блог-платформа обеспечивает. И из этого RSS фида ваше веб-приложение может и выбирать голосовые файлы пользователей. Опять таки, разбор XML реализован уже везде.
2. Voice 2 Email. Сервис позволяет принимать голосовые звонки по email. Письмо, с записанным mp3 файлом в аттачменте. А ведь помимо чтения писем в каком-то почтовом клиенте их можно получать и программно. Реализации POP/IMAP библиотек есть для всех систем программирования. То есть ваше приложение может собирать голосовые отклики просто из своего почтового ящика.
3. Call2Web. Непосредственный прием голосовых файлов в приложении. Это самое правильное, пожалуй. Вы сами опеределяете callback, в качестве которого здесь выступает CGI скрипт для выгрузки файла. Веб-приложение, в итоге, получает mp3 файл, записанный на телекоммуникационной платформе. И эта операция реализуется просто как загрузка файла.
4. Персональное использование. Здесь, например, Voice 2 WAP. Вы звоните и записываете сообщение. Ссылка на записанный mp3 файл придет на ваш же телефон по SMS. Это просто mp3 файл. Его, кстати, не обязательно прямо здесь на телефоне выгружать. Это обычный URL, загрузить файл можно где угодно. А можно пришедший SMS со ссылкой кому-то просто переслать. Голосовое письмо получится.
Ну и упоминавшийся сервис Voice 2 Email. Можно завести код сервиса для собственного email адреса. Иными словами, у вас будет персональный код сервиса, при звонке на который записанные аудио-файлы будут отсылаться в указанный вами почтовый ящик.
1. Блог-платформа как CMS (content management system). Вот на базе сервисов типа Голос ЖЖ (публикация голосовых сообщений в livejournal.com) или Голос Li.ru (то же самое для liveinternet.ru), которые непосредственно предназначены для публикации голосовых файлов в блогах, можно сделать сервис, который просто будет собирать голосовые звонки в указанном вами блоге. Безо всякой регистрации пользователей, просто сбор голосовых звонков и публикация аудио-файлов файлов в блоге. А у блога (журнала), естественно, есть RSS поток. Это уже сама блог-платформа обеспечивает. И из этого RSS фида ваше веб-приложение может и выбирать голосовые файлы пользователей. Опять таки, разбор XML реализован уже везде.
2. Voice 2 Email. Сервис позволяет принимать голосовые звонки по email. Письмо, с записанным mp3 файлом в аттачменте. А ведь помимо чтения писем в каком-то почтовом клиенте их можно получать и программно. Реализации POP/IMAP библиотек есть для всех систем программирования. То есть ваше приложение может собирать голосовые отклики просто из своего почтового ящика.
3. Call2Web. Непосредственный прием голосовых файлов в приложении. Это самое правильное, пожалуй. Вы сами опеределяете callback, в качестве которого здесь выступает CGI скрипт для выгрузки файла. Веб-приложение, в итоге, получает mp3 файл, записанный на телекоммуникационной платформе. И эта операция реализуется просто как загрузка файла.
4. Персональное использование. Здесь, например, Voice 2 WAP. Вы звоните и записываете сообщение. Ссылка на записанный mp3 файл придет на ваш же телефон по SMS. Это просто mp3 файл. Его, кстати, не обязательно прямо здесь на телефоне выгружать. Это обычный URL, загрузить файл можно где угодно. А можно пришедший SMS со ссылкой кому-то просто переслать. Голосовое письмо получится.
Ну и упоминавшийся сервис Voice 2 Email. Можно завести код сервиса для собственного email адреса. Иными словами, у вас будет персональный код сервиса, при звонке на который записанные аудио-файлы будут отсылаться в указанный вами почтовый ящик.
По осени считают
Судя по этому сообщению (продление сроков конкурса, новая версия SDK, недоступная широкой публике) - телефонов Android следует ожидать не раньше осени. А то может это и вообще станет подарком к Рождеству.
Monday, May 19, 2008
Масштабирование БД
Интересный обзор систем масштабирования для баз данных. Рассматриваются два основных подхода - кластеризация и внешний кэш. Автор (как технический директор Gigaspaces), конечно, агитирует за кэш. То, что в обзоре еще названо IMDG - In-Memory Data Grids.
Friday, May 16, 2008
Опрос местных жителей
HTTP Channels
HTTP Channels - интересная надстройка над HTTP, порожденная работами с Comet. Семантика соответствует названию - каналы связи (подписки) клиента и сервера. Фактически - имитация дуплексного обмена по HTTP. Реально выполняется как непрерывная последовательность HTTP POST запросов со стороны клиента, где канал для связи (подписной индекс) помечается как специальный заголовок:
POST /channels HTTP/1.1
Accept: application/http
X-Create-Client-Id: 867208037610061686690752
Вот этот самый X-Create-Client-Id и определяет "канал". Этот как идентификатор сессии, но только создается он не на сервере, а клиентом (тут еще нужно и коллизий избежать).
POST /channels HTTP/1.1
Accept: application/http
X-Create-Client-Id: 867208037610061686690752
Вот этот самый X-Create-Client-Id и определяет "канал". Этот как идентификатор сессии, но только создается он не на сервере, а клиентом (тут еще нужно и коллизий избежать).
Thursday, May 15, 2008
Абавазрение 15.05.2008
Некоторые интересные ссылки:
1. Дональд Кнут наших дней. Интересная подборка алгоритмов для интернет приложений.
2. Виртуализация для мобильных приложений. Кстати, платформа Android и активизировавшийся LiMo вполе могут сделать эту тему актуальной. Может возникнуть нужда выполнять на одном телефоне несколько приложений в разных средах.
3. Из серии "N+1 лучшее решение". Интересные коллекции: 47 форм для веб страниц и 30 свежих (:-) ajax-скриптов
4. J2ME и LBS. Практические примеры доступа к GPS из J2ME приложений (via Bluetooth)
1. Дональд Кнут наших дней. Интересная подборка алгоритмов для интернет приложений.
2. Виртуализация для мобильных приложений. Кстати, платформа Android и активизировавшийся LiMo вполе могут сделать эту тему актуальной. Может возникнуть нужда выполнять на одном телефоне несколько приложений в разных средах.
3. Из серии "N+1 лучшее решение". Интересные коллекции: 47 форм для веб страниц и 30 свежих (:-) ajax-скриптов
4. J2ME и LBS. Практические примеры доступа к GPS из J2ME приложений (via Bluetooth)
Wednesday, May 14, 2008
API для машины
Мы уже писали про автомобильный навигатор Dash. Это автомобильный GPS с интернет соединением. Идея понятна - показывать не только как ехать из точки А в точку Б, но и что находится по дороге. Теперь, как и предсказывалось, они открывают свой API для сторонних разработчиков. Можно создавать свои приложения для автомобилистов. Вместо Авторадио появится Автокарта.
Москва 1836
Google карта Москвы за 1836 год. Ну очень древний интернет :). Насколько я понимаю, должен быть KML файл для этого слоя?
Tuesday, May 13, 2008
Ипотечный кризис
Monday, May 12, 2008
Twitter search
Поисковик для Twitter: Summize. Можно узнать, что думает "твиттеросфера" о конкретном событии/действии etc. Есть простой API (Atom и JSON) - то есть результаты можно добавить к себе на сайт.
Google Adwords
Google AdWords теперь дает советы (бесплатно) по поисковым словам: KeyWordTool. Можно также получить рекомендации по поисковым словам для конкретного сайта (себ-страницы). Кто-то останется без работы ;-)
Sunday, May 11, 2008
Android в MIT
Презентации Android приложений от MIT. В основном - социальные сети и карты. В части использования GPS Android явно впереди iPhone (там нет такого API). Это и эксплуатируется.
Загрузка мобильного контента
Интересный материал по загрузке мобильного контента. Включая byte range загрузку для iPhone (Safari) и OMA download
Friday, May 09, 2008
ZoomMDK
GeoLocation API
Google предлагает W3C стандартизовать запросы позиционирования для веб-приложений. Это позволит веб-приложениям получать географические координаты пользователей. Google исходит из того, что у них есть в Gears. Вот модельный пример (JavaScript):
var geo = google.gears.factory.create('beta.geolocation');
// Get the position.
geo.getCurrentPosition(function(position) {
updateMap(position.latitude, position.longitude);
});
// Watch the position over time.
var watchId = geo.watchPosition(function(position) {
updateMap(position.latitude, position.longitude, position.accuracy);
});
geo.clearWatch(watchId);
// Only get the position if the last known position is more than a minute old.
var now = new Date().getTime();
var threshold = now - 60000;
if (geo.lastPosition &&
geo.lastPosition.timestamp.getTime()> threshold) {
updateMap2(geo.lastPosition);
} else {
loc.getCurrentPosition(function(position) {
updateMap2(position);
});
}
var geo = google.gears.factory.create('beta.geolocation');
// Get the position.
geo.getCurrentPosition(function(position) {
updateMap(position.latitude, position.longitude);
});
// Watch the position over time.
var watchId = geo.watchPosition(function(position) {
updateMap(position.latitude, position.longitude, position.accuracy);
});
geo.clearWatch(watchId);
// Only get the position if the last known position is more than a minute old.
var now = new Date().getTime();
var threshold = now - 60000;
if (geo.lastPosition &&
geo.lastPosition.timestamp.getTime()> threshold) {
updateMap2(geo.lastPosition);
} else {
loc.getCurrentPosition(function(position) {
updateMap2(position);
});
}
Thursday, May 08, 2008
Пошли по рукам
CodeGear - это подразделение Borland, куда были выведены все средства разработки, продано. Новый владелец - Embarcadero. Языки програмирования от Borland - это же была целая история. Которая теперь окончательно закончилась ...
Если враг не сдается
Когда безобразия нельзя победить, их остается только возглавить. Крупные телекомы планируют совместно запустить в 2009 году убийцу Skype. В принципе - это возможно, а Skype они вытеснят просто тем, что приземление звонков в новой сети будет дешевле. Но это если все они договорятся. А если еще и открытые протоколы для реализации выбрать (e.g. SIP), то будет такой всемирный провайдер с открытым доступом к сервисам (что назвается, кто о чем ...)
Wednesday, May 07, 2008
PHP 6
DeveloperWorks публикует обзорную статью об изменениях, грядущих в PHP 6
Я бы отметил, в первую очередь, изменение принципа формирования запросов к БД. magic_quotes отменяется. Рекомендованный теперь способ - параметризация запросов (так, кстати, как это делается, например, в JDBC):
<?php
// Using the proper parameterized query method for MySQL, as an example
$statement = $dbh->prepare("INSERT INTO USERS (USERNAME) VALUES ?");
$statement->execute(array($_GET['username']));
?>
И это, конечно, правильно. Во-первых, с SQL injection так можно бороться, во-вторых для подготовленных SQL операторов у системы остается больше возможностей для оптимизации (как курсор, например, это реализовать)
Я бы отметил, в первую очередь, изменение принципа формирования запросов к БД. magic_quotes отменяется. Рекомендованный теперь способ - параметризация запросов (так, кстати, как это делается, например, в JDBC):
<?php
// Using the proper parameterized query method for MySQL, as an example
$statement = $dbh->prepare("INSERT INTO USERS (USERNAME) VALUES ?");
$statement->execute(array($_GET['username']));
?>
И это, конечно, правильно. Во-первых, с SQL injection так можно бороться, во-вторых для подготовленных SQL операторов у системы остается больше возможностей для оптимизации (как курсор, например, это реализовать)
Кэширование изображений
Простой трюк, который может, вместе с тем, на ровном месте разгрузить веб-сервер и повысить тем самым производительность веб-приложения. Идея заключается в том, чтобы включить на клиентской стороне кэширование изображений, запрашиваемых с данного сайта. Вот, например, как это делается для J2EE серверов (источник - Coldbeans):
1. Добавляем к своему веб-приложению следующий фильтр: Expires filter. Этот фильтр позволяет добавлять на лету к обрабатываемым запросам HTTP заголовки Expires и Cache-control. Эти заголовки как раз и определяют кэширование результатов запроса на стороне клиента. Например, следующее описание в web.xml файле:
<filter>
<filter-name>ExpiresFilter</filter-name>
<filter-class>com.cj.expire.ExpiresFilter</filter-class>
<init-param>
<param-name>expires</param-name>
<param-value>86400</param-value>
</init-param>
</filter>
определяет кэширование на 1 сутки (время - в секундах)
2. Остальное прозрачно. Задаем мэппинг этого фильтра для изображений:
<filter-mapping>
<filter-name>ExpiresFilter</filter-name>
<url-pattern>*.gif</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>ExpiresFilter</filter-name>
<url-pattern>*.jpg</url-pattern>
</filter-mapping>
...
теперь запрашиваемые изображения типа http://наш_сервер/что_то.gif будут кэшироваться на клиентской стороне
Для PHP можно, например, прописать установку данных заголовков прямо для Apache. Это что-то вроде следующего:
<FilesMatch "\.(jpg|jpeg|png|gif|ico)$">
Header add "Expires" "Mon, 01 Jan 2018 00:00:00 GMT"
Header add "Cache-Control" "max-age=31536000"
</FilesMatch>
1. Добавляем к своему веб-приложению следующий фильтр: Expires filter. Этот фильтр позволяет добавлять на лету к обрабатываемым запросам HTTP заголовки Expires и Cache-control. Эти заголовки как раз и определяют кэширование результатов запроса на стороне клиента. Например, следующее описание в web.xml файле:
<filter>
<filter-name>ExpiresFilter</filter-name>
<filter-class>com.cj.expire.ExpiresFilter</filter-class>
<init-param>
<param-name>expires</param-name>
<param-value>86400</param-value>
</init-param>
</filter>
определяет кэширование на 1 сутки (время - в секундах)
2. Остальное прозрачно. Задаем мэппинг этого фильтра для изображений:
<filter-mapping>
<filter-name>ExpiresFilter</filter-name>
<url-pattern>*.gif</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>ExpiresFilter</filter-name>
<url-pattern>*.jpg</url-pattern>
</filter-mapping>
...
теперь запрашиваемые изображения типа http://наш_сервер/что_то.gif будут кэшироваться на клиентской стороне
Для PHP можно, например, прописать установку данных заголовков прямо для Apache. Это что-то вроде следующего:
<FilesMatch "\.(jpg|jpeg|png|gif|ico)$">
Header add "Expires" "Mon, 01 Jan 2018 00:00:00 GMT"
Header add "Cache-Control" "max-age=31536000"
</FilesMatch>
SMS torrent
Fluid Nexus - интересная идея, уже работающая на Series 60 Symbian, а теперь представленная для Android: peer to peer messaging. Это сообщения между абонентами мобильной сети, но обмен ими идет без участия центрального сервера (например, SMSC для SMS). Сообщения с использованием Bluetooth передаются между участниками сети и так добираются до адресата.
Tuesday, May 06, 2008
iPod-изация
Феерическая коллекция в духе "все, что можно сделать из старой швейной машинки Зингера" - 75 применений для iPod - телевизор, backup-drive, секс-игрушка и т.д.
Monday, May 05, 2008
Google Maps Mania - 7
Появились новые записи и пришло время выпустить очередное обновление для списка проектов (систем), выполненных на базе Google Maps. То, с чего все началось, можно посмотреть здесь. Итак:
Информационные системы:
Авто-услуги
Агентство недвижимости Спб
Афиша
Все аптеки
Все банкоматы.ru
Где этот дом
Донецк
Карта цен на квартиры в Москве
Карта рыбака
Картакадабра
Квартиры в Москве
Кинотеатры в Москве
Маршруты в Москве
МАКС 2007
Местная погода
Мурманск
Недвижимость на карте
Новостройки в Сибири
Окрестности Екатеринбурга
Отели Египта
Пермь
Пермь на карте
пос. Правдинский
Пушкино
Погода на карте
Путешествия с Google Maps
Роддома Москвы и Санкт-Петербурга
4 туриста
Туристические карты
Туристические блоги
Сеть распространения печатной продукции
Сноуборд
Храмы России
Cosmopolitan шоппинг
Фото-биеннале
Футбольные поля
Live Events
National Geographic Traveler
User generated content (geo tagging):
Geo links
Geo SMS
GPS треки
View and organize geographical data
WikiMapia
Инструменты:
Big map
Geo traceroute
Google Msk TV
Metro map
Maps2lj - публикация карт в ЖЖ
Технические аспекты
Социальные сети:
Вокруг меня
За баранкой
Мир Тесен
Отдыхали.ru
Соседи-онлайн
Гаджеты и карты:
Атлас Москвы
Ветеринарные клиники в Москве
Видеокамеры ГАИ
Веб-камеры в России
Веб-камеры в Москве
Маршруты Москвы (гаджет)
Москва, район Аэропорт
Мото-сайт: помощь в дороге
Новые рестораны
Посадочные модули на Луне
Посадочные модули на Марсе
Публичные туалеты в Москве
Совы и Девы в Спб
Точечная застройка в Москве
Штрафные автостоянки в Москве
Черный список бензоколонок
Кого-то пропустили? Что-то новое? Пишите, список будем обновлять.
UPD. Обновленная версия списка доступна здесь: Google Maps Mania.ru
Информационные системы:
Авто-услуги
Агентство недвижимости Спб
Афиша
Все аптеки
Все банкоматы.ru
Где этот дом
Донецк
Карта цен на квартиры в Москве
Карта рыбака
Картакадабра
Квартиры в Москве
Кинотеатры в Москве
Маршруты в Москве
МАКС 2007
Местная погода
Мурманск
Недвижимость на карте
Новостройки в Сибири
Окрестности Екатеринбурга
Отели Египта
Пермь
Пермь на карте
пос. Правдинский
Пушкино
Погода на карте
Путешествия с Google Maps
Роддома Москвы и Санкт-Петербурга
4 туриста
Туристические карты
Туристические блоги
Сеть распространения печатной продукции
Сноуборд
Храмы России
Cosmopolitan шоппинг
Фото-биеннале
Футбольные поля
Live Events
National Geographic Traveler
User generated content (geo tagging):
Geo links
Geo SMS
GPS треки
View and organize geographical data
WikiMapia
Инструменты:
Big map
Geo traceroute
Google Msk TV
Metro map
Maps2lj - публикация карт в ЖЖ
Технические аспекты
Социальные сети:
Вокруг меня
За баранкой
Мир Тесен
Отдыхали.ru
Соседи-онлайн
Гаджеты и карты:
Атлас Москвы
Ветеринарные клиники в Москве
Видеокамеры ГАИ
Веб-камеры в России
Веб-камеры в Москве
Маршруты Москвы (гаджет)
Москва, район Аэропорт
Мото-сайт: помощь в дороге
Новые рестораны
Посадочные модули на Луне
Посадочные модули на Марсе
Публичные туалеты в Москве
Совы и Девы в Спб
Точечная застройка в Москве
Штрафные автостоянки в Москве
Черный список бензоколонок
Кого-то пропустили? Что-то новое? Пишите, список будем обновлять.
UPD. Обновленная версия списка доступна здесь: Google Maps Mania.ru
Sunday, May 04, 2008
По расписанию
Blogger теперь умеет публиковать заметки в заданное время. Этот текст написан в 16:40, а запланирован к публикации на 17:00. Посмотрим ...
Thursday, May 01, 2008
Абавазрение 01.05.2008
Интересные ссылки:
1. Работа над ошибками. В мэшапе Itblogs исправлена ошибка при работе с IE 6.
2. Дискуссия вокруг новой спецификации Java Servlets. Основной момент - auto discovery. Теперь .jar файл с компонентой может содержать собственное описание, например - для listener. Соответственно, появится возможность автоматического запуска компонент, не нужно будет редактировать web.xml Но это, естественно, таит в себе и проблемы. Что там, в загруженной компоненте?
3. Между тем обновились два набора Java веб-компонент, которые мы, например, использовали во многих проектах: набор Java сервлетов и фильтров - JSOS и Coldtags suite - крупнейшая коллекция пользовательских тегов для JSP (и/или Coldfusion - там это все работает)
1. Работа над ошибками. В мэшапе Itblogs исправлена ошибка при работе с IE 6.
2. Дискуссия вокруг новой спецификации Java Servlets. Основной момент - auto discovery. Теперь .jar файл с компонентой может содержать собственное описание, например - для listener. Соответственно, появится возможность автоматического запуска компонент, не нужно будет редактировать web.xml Но это, естественно, таит в себе и проблемы. Что там, в загруженной компоненте?
3. Между тем обновились два набора Java веб-компонент, которые мы, например, использовали во многих проектах: набор Java сервлетов и фильтров - JSOS и Coldtags suite - крупнейшая коллекция пользовательских тегов для JSP (и/или Coldfusion - там это все работает)
Wednesday, April 30, 2008
Не чать
Патент Apple на универсальный интерфейс для текстового чата в реальном времени. В патенте действительно педантично описаны все этапы текстового чата. Что будет с нарушителями?
Большой брат
Федеральный суд в США подтвердил, что при пересечении границы таможенная служба может искать/проверять/копировать любые файлы на лаптопах и мобильных телефона. Отсюда. Так какой, говорите, у вас Windows на компьютере стоит?
Tuesday, April 29, 2008
YouTube mashup
YouTube поддерживает API, используя который сторонние приложения могут осуществлять выборку данных из базы видео-хостинга. Это REST-based API, иными словами - HTTP запросы, возвращающие XML данные. Вот пример работы с этим API из JSP.
При этом выбираемые данные могут содержать (если это было указано автором видео) информацию о местоположении (в формате GeoRSS). На картах Google уже можно просматривать видео-файлы из YouTube в привязке к карте, но это построено в виде мапплета. А мапплеты нельзя добавлять в собственные приложения, их можно просматривать только через Google MyMaps.
Поэтому для использования данных YouTube на картах необходима прямая работа с YouTube API. Вот на этом и был построен mashup: GTV. На одной странице показываются 50 последних видео-файлов из YouTube, найденных по ключевому слову Москва и новости Yandex для Москвы (для выдачи последних используется Google Parnerbar API). Для видео-файлов, где координаты не были указаны автором используется автоматическое размещение. А в итоге все вместе выглядит как некоторый телеканал для Москвы: новости + видео. Смотреть - здесь.
При этом выбираемые данные могут содержать (если это было указано автором видео) информацию о местоположении (в формате GeoRSS). На картах Google уже можно просматривать видео-файлы из YouTube в привязке к карте, но это построено в виде мапплета. А мапплеты нельзя добавлять в собственные приложения, их можно просматривать только через Google MyMaps.
Поэтому для использования данных YouTube на картах необходима прямая работа с YouTube API. Вот на этом и был построен mashup: GTV. На одной странице показываются 50 последних видео-файлов из YouTube, найденных по ключевому слову Москва и новости Yandex для Москвы (для выдачи последних используется Google Parnerbar API). Для видео-файлов, где координаты не были указаны автором используется автоматическое размещение. А в итоге все вместе выглядит как некоторый телеканал для Москвы: новости + видео. Смотреть - здесь.
Бухгалтерское
Налог с пищи Минфин разъяснил, когда граждане должны платить налог со съеденного и выпитого на вечеринках Компания спросила финансовое ведомство, нужно ли удерживать подоходный налог с приглашенных на корпоративные вечеринки ... |
Может быть, налог на покойников будут брать вперед?
Sunday, April 27, 2008
Освянка, сэр
Конкурс для разработчиков SMS сервисов. Первый приз - 1000 фунтов. Срок подачи заявок - до 31 мая 2008 года.
Google Solution Marketplace
Google открыл Solution MarketPlace. Площадка, где представлены, в виде каталога, решения сторонних разработчиков, основанные на Google API. Предложить свои решения может любой, достаточно быть зарегистрированным в Google (то есть любой пользователь Gmail, например). Основные категории (на сегодня): Google Apps, поиск и профессиональные сервисы (обучение, разработка). Согласно опубликованному положению, Google проверяет решения перед публикацией их в каталоге. Кстати, купить (оплатить) продукты можно здесь же (Google merchant, естественно). Интересно. И, почти наверняка, это только начало.
Saturday, April 26, 2008
Конкуренция, однако
Большие таблицы от Google (как веб-сервис) заставили Amazon снизить цены на Amazon S3 (Simple Storage Service). Интересно, а из российских видео/фото хостингов кто-то уже использует S3?
Friday, April 25, 2008
Спасите наши души
Yahoo анонсировала новую политику по отношению к веб-разработчикам. Полностью открытая система. По сути, предлагают прямое программирование для себя (как мешап) своего портала Yahoo!, равно как и построение социальных сервисов (сетей) на их клиентской базе.
А первым шагом должна стать (дата запуска 15 мая) программа SearchMonkey - мешапы на основе результатов поиска. Вообще, относительно поиска, мы уже писали, что средства Yahoo для программирования более удобны.
А первым шагом должна стать (дата запуска 15 мая) программа SearchMonkey - мешапы на основе результатов поиска. Вообще, относительно поиска, мы уже писали, что средства Yahoo для программирования более удобны.
Thursday, April 24, 2008
Мобильный поиск
Wednesday, April 23, 2008
Google Search API
Уже больше года, как Google перестал поддерживать SOAP API для поиcка. Мы писали об этом здесь. Равно как и отмечали, вместе с другими заинтересованными разработчиками, что REST API для поиска от Yahoo гораздо удобнее. Вот, в итоге всего, случились некоторые подвижки и в Google. Их Ajax Search API стало можно использовать без Ajax. Это нужно, естественно, если вы разрабатываете server side приложения. Это теперь REST запросы, которые возвращают данные в формате JSON.
Вроде все хорошо, даже ключ не нужно получать, но ложка дегтя (и не одна) присутствует. Один запрос возвращает не более 8 записей и получить больше 32 первых - нельзя. Порядок вывода менять нельзя. Да и остальные ограничения большим либерализмом не отличаются. Но уже хоть что-то появилось.
Вроде все хорошо, даже ключ не нужно получать, но ложка дегтя (и не одна) присутствует. Один запрос возвращает не более 8 записей и получить больше 32 первых - нельзя. Порядок вывода менять нельзя. Да и остальные ограничения большим либерализмом не отличаются. Но уже хоть что-то появилось.
Tuesday, April 22, 2008
Наноформаты
Нельзя пройти мимо важного государственного дела, поэтому что-то о нанотехнологиях сказать было бы нужно. А если серьезно, то вот интересный материал о микроформатах в мобильных сервисах.
А наноформаты - это то, что ввел в обиход Twitter (и его последователи):
* @username - ответить другому пользователю
* L:Berlin - указание адреса (TwitterVision на этом работает)
* tag++, tag–, username++ - голосование за/против
* #tag - указание тега
* lang:en - указание языка
* event: - описание события
А наноформаты - это то, что ввел в обиход Twitter (и его последователи):
* @username - ответить другому пользователю
* L:Berlin - указание адреса (TwitterVision на этом работает)
* tag++, tag–, username++ - голосование за/против
* #tag - указание тега
* lang:en - указание языка
* event: - описание события
Monday, April 21, 2008
Мониторинг и Java
Интересующимся применением Java для задач мониторинга технических систем - вот хорошая основа. GreenFire - open source Java приложение для мониторинга температурных датчиков. Описание проекта еще можно почитать здесь. По количеству функций - весьма насыщенное приложение. Архитектура, кстати, масштабируемая. Если вдруг этих датчиков температуры окажется много, много ...
Sunday, April 20, 2008
Twitter feed
Простой, но полезный сервис Twitterfeed - позволяет публиковать указанный при регистрации RSS feed в Twitter. Это, между прочим, еще один способ мобилизации для данных - RSS feed через Twitter станет доступным мобильным абонентам.
170 приложений в час
Google опубликовал статистику по Android Developers Challenge. 1788 приложений. Скорость публикации приложений в конце составляла 170 заявок в час. Между прочим, есть очень интересные вещи. И это, несомненно, замечательные результаты. Ведь все это сделано для устройства, которого еще физически нет. Очевидно, что Google здорово угадал с этим конкурсом. Телефон, когда его выпустят, сразу будет иметь обширную базу приложений. А дальше можно просто повторять такой конкурс периодически и это сделает Аndroid самой развитой платформой в смысле приложений.
Saturday, April 19, 2008
Google TV
Еще один mashup для Google Maps - GTV. Используется mapplet для показа публикаций в YouTube (см. здесь) и Google Partner bar API (мы писали об этом здесь).
В итоге на одной странице собраны:
- ролики YouTube для Москвы (привязанные к карте)
- новости Москвы от Yandex
Московский телеканал, так сказать. Смотреть - здесь
В итоге на одной странице собраны:
- ролики YouTube для Москвы (привязанные к карте)
- новости Москвы от Yandex
Московский телеканал, так сказать. Смотреть - здесь
Friday, April 18, 2008
YouTube на картах
Google добавил воможность показа роликов YouTube прямо по месту на карте. Это мапплет, который можно добавить к собственной карте на My Maps. И в реальном времени будут отображаться все добавления роликов YouTube, относящиеся к данной карте. Просматривать их можно непосредственно поверх карты. Выглядит впечатляюще.
Но что еще интереснее - это реализация. Если посмотреть код, то вот как Google отображает данные YouTube:
var map = new GMap2();
map.addOverlay(new GLayer('lmc:youtube'));
Вот этот интересный объект GLayer простым смертным недоступен. А между тем, он делает много интересных вещей. Во-первых, он позволяет отображать на карте много больше объектов, чем стандартный GMarker. Последний очень медленно работает, если маркеров уже около 100. А во-вторых, вот этот параметр при вызове: lmc:youtube. Можно предположить, что у Google ведь есть и lmc:много_чего_еще. Но информации про этот GLayer в том же Google совсем немного ...
Понравилась картинка в ЖЖ? Сохраните userpic в своем телефоне.
Но что еще интереснее - это реализация. Если посмотреть код, то вот как Google отображает данные YouTube:
var map = new GMap2();
map.addOverlay(new GLayer('lmc:youtube'));
Вот этот интересный объект GLayer простым смертным недоступен. А между тем, он делает много интересных вещей. Во-первых, он позволяет отображать на карте много больше объектов, чем стандартный GMarker. Последний очень медленно работает, если маркеров уже около 100. А во-вторых, вот этот параметр при вызове: lmc:youtube. Можно предположить, что у Google ведь есть и lmc:много_чего_еще. Но информации про этот GLayer в том же Google совсем немного ...
Понравилась картинка в ЖЖ? Сохраните userpic в своем телефоне.
Thursday, April 17, 2008
Мобильный веб?
Компания Mowser занималась мобильным вебом. Более точнее - транскодингом. Конвертацией существующих сайтов для доступа из мобильных браузеров. И вот что пишет в итоге ее основатель:
I think anyone currently developing sites using XHTML-MP markup, no Javascript, geared towards cellular connections and two inch screens are simply wasting their time, and I'm tired of wasting my time."
Вообще, вся статья проникнута большим пессимизмом по отношению к мобильным сайтам. И успех iPhone в веб-доступе, по мнению автора, только подтвердает его мнение. Появился "стандартный" браузер на мобильном телефоне - пользователи пошли в веб. А без этого - просто не пойдут.
А вы что думаете по этому поводу?
I think anyone currently developing sites using XHTML-MP markup, no Javascript, geared towards cellular connections and two inch screens are simply wasting their time, and I'm tired of wasting my time."
Вообще, вся статья проникнута большим пессимизмом по отношению к мобильным сайтам. И успех iPhone в веб-доступе, по мнению автора, только подтвердает его мнение. Появился "стандартный" браузер на мобильном телефоне - пользователи пошли в веб. А без этого - просто не пойдут.
А вы что думаете по этому поводу?
Tuesday, April 15, 2008
Звонок в приложение
Здесь мы (AbavaNet) опишем новый подход к интеграции телефонии и веб-приложений. Цель состоит в доставке голосового звонка непосредственно в веб-приложение. Это позволит, например, оставлять голосовые сообщения в приложениях, проводить голосования и т.д. При этом предложенный способ будет работать и для мобильных сайтов, где голосовое общение может быть даже более актуальным.
Сервисы, интегрирующие веб и телефонию, конечно, уже существуют. Это то, что принято называть Mobile 2.0 (или Телеком 2.0). Среди сервисов, запущенных AbavaNet, можно указать, например, запись голосовых сообщений в блоги или Voice 2 Email. Но все сервисы в целом следуют одной модели - использование открытого API веб-платформы (например, Livejournal API) для доставки звонка.
А что если сделать еще и наоборот? Не из сервиса обращаться к веб-платформе, а непосредственно из веб-приложения принимать результаты звонка. Тогда, например, для такого сервиса как запись голосовых сообщений в блоги вообще не нужна была бы какая-то отдельная регистрация своего телефона и блога. Непосредственно в блог-платформе можно было бы разместить инструмент для приема голосовых сообщений и потенциальному пользователю осталось бы только позвонить.
Как это вглядит практически? Прием звонка непосредственно в веб-приложении означает, с практической точки зрения, что непосредственно в веб-приложении мы определяем место, где будет приниматься звонок, а также собственный callback - метод, который будет отвечать за прием звонка. Поскольку мы говорим о веб, то callback здесь - это postback. То есть CGI скрипт, который будет отвечать за прием звонка. А указание места приема - это должен быть какой-то тег.
Для разработчика веб-приложения это в итоге выливается в размещение в произвольном месте своего приложения JavaScript вызова, который и выставит соответствующую метку. Выглядит это таким образом:
AcceptCall('Голосовое сообщение', 'http://myserver/my_cgi_script')
Здесь первый параметр - это заголовок для пользователя (как это будет видеть посетитель сайта), второй параметр - CGI скрипт (от _собственного_ веб приложения), который будет регистрировать звонок. Для посетителя сайта это выглядит в итоге как обычная ссылка:
Голосовое сообщение
Кликнув на нее, пользователь получит атрибуты для звонка: сервисный номер и дополнительный код. Сервисный номер не меняется, естественно, а код будет различным. Этот код и идентифицирует в итоге точку, где принимается звонок.
После звонка на указанный номер и ввода кода (код находится перед глазами - он одноразовый и запоминать его не нужно :) голосовое сообщение будет записано. А далее - телекоммуникационная платформа просто выполнит HTTP POST запрос по URL, указанному в качестве второго параметра (см. JavaScript вызов выше). При этом записанный файл (mp3, например) будет просто передан
(выгружен) в данном запросе. И, соответственно, скрипт в веб-приложении для приема звонка есть просто CGI-скрипт для обработки загрузки файла. Для веб-приложения это выглядит так, как будто есть некоторая страница с формой загрузки файла (<input type="file" ...) и нужно обработать загружаемый пользователем медиа-файл. Далее - уже целиком область ответственности веб-приложения: просто поместить у себя ссылку на полученный файл, вставить на страницу медиа-плейер для прослушивания etc.
Как веб-приложение различит, к чему относится полученный файл? Для этого указанный выше JavaScript вызов может использоваться в такой форме:
AcceptCall('Голосовое сообщение', 'http://myserver/my_cgi_script', дополнительные параметры)
Например, для форума (блога) серверное приложение, которое выводит ветку дискуссии может добавить на генерируемую страницу такой JavaScript код, указав в дополнительных параметрах ID сообщения (топика в форуме). Дополнительные параметры будут просто передаваться вместе с медиа-файлом "как есть". Базируясь на их значениях, CGI скрипт, который будет обрабатывать прием медиа файлов сможет корректно адресовать полученный файл уже в рамках веб-приложения.
В целом, это очень простой в использовании метод интеграции голосовых звонков непосредственно в веб приложение. Нет никаких специальных требований к веб-приложению , а прием звонка - это просто обработка загрузки файла.
Отметим, что описанный подход будет работать и для мобильных веб-приложений.
Что дальше? Хотите запустить такой сервис для своей блог-платформы, сайта, социальной сети и т.п.? Свяжитесь с нами. Кстати, интеграция телефонии - это один из способов монетизации для тех же социальных сетей. И все описанное в части бизнеса здесь, применимо и для данного сервиса.
Сервисы, интегрирующие веб и телефонию, конечно, уже существуют. Это то, что принято называть Mobile 2.0 (или Телеком 2.0). Среди сервисов, запущенных AbavaNet, можно указать, например, запись голосовых сообщений в блоги или Voice 2 Email. Но все сервисы в целом следуют одной модели - использование открытого API веб-платформы (например, Livejournal API) для доставки звонка.
А что если сделать еще и наоборот? Не из сервиса обращаться к веб-платформе, а непосредственно из веб-приложения принимать результаты звонка. Тогда, например, для такого сервиса как запись голосовых сообщений в блоги вообще не нужна была бы какая-то отдельная регистрация своего телефона и блога. Непосредственно в блог-платформе можно было бы разместить инструмент для приема голосовых сообщений и потенциальному пользователю осталось бы только позвонить.
Как это вглядит практически? Прием звонка непосредственно в веб-приложении означает, с практической точки зрения, что непосредственно в веб-приложении мы определяем место, где будет приниматься звонок, а также собственный callback - метод, который будет отвечать за прием звонка. Поскольку мы говорим о веб, то callback здесь - это postback. То есть CGI скрипт, который будет отвечать за прием звонка. А указание места приема - это должен быть какой-то тег.
Для разработчика веб-приложения это в итоге выливается в размещение в произвольном месте своего приложения JavaScript вызова, который и выставит соответствующую метку. Выглядит это таким образом:
AcceptCall('Голосовое сообщение', 'http://myserver/my_cgi_script')
Здесь первый параметр - это заголовок для пользователя (как это будет видеть посетитель сайта), второй параметр - CGI скрипт (от _собственного_ веб приложения), который будет регистрировать звонок. Для посетителя сайта это выглядит в итоге как обычная ссылка:
Голосовое сообщение
Телефон: 0942
Кликнув на нее, пользователь получит атрибуты для звонка: сервисный номер и дополнительный код. Сервисный номер не меняется, естественно, а код будет различным. Этот код и идентифицирует в итоге точку, где принимается звонок.
После звонка на указанный номер и ввода кода (код находится перед глазами - он одноразовый и запоминать его не нужно :) голосовое сообщение будет записано. А далее - телекоммуникационная платформа просто выполнит HTTP POST запрос по URL, указанному в качестве второго параметра (см. JavaScript вызов выше). При этом записанный файл (mp3, например) будет просто передан
(выгружен) в данном запросе. И, соответственно, скрипт в веб-приложении для приема звонка есть просто CGI-скрипт для обработки загрузки файла. Для веб-приложения это выглядит так, как будто есть некоторая страница с формой загрузки файла (<input type="file" ...) и нужно обработать загружаемый пользователем медиа-файл. Далее - уже целиком область ответственности веб-приложения: просто поместить у себя ссылку на полученный файл, вставить на страницу медиа-плейер для прослушивания etc.
Как веб-приложение различит, к чему относится полученный файл? Для этого указанный выше JavaScript вызов может использоваться в такой форме:
AcceptCall('Голосовое сообщение', 'http://myserver/my_cgi_script', дополнительные параметры)
Например, для форума (блога) серверное приложение, которое выводит ветку дискуссии может добавить на генерируемую страницу такой JavaScript код, указав в дополнительных параметрах ID сообщения (топика в форуме). Дополнительные параметры будут просто передаваться вместе с медиа-файлом "как есть". Базируясь на их значениях, CGI скрипт, который будет обрабатывать прием медиа файлов сможет корректно адресовать полученный файл уже в рамках веб-приложения.
В целом, это очень простой в использовании метод интеграции голосовых звонков непосредственно в веб приложение. Нет никаких специальных требований к веб-приложению , а прием звонка - это просто обработка загрузки файла.
Отметим, что описанный подход будет работать и для мобильных веб-приложений.
Что дальше? Хотите запустить такой сервис для своей блог-платформы, сайта, социальной сети и т.п.? Свяжитесь с нами. Кстати, интеграция телефонии - это один из способов монетизации для тех же социальных сетей. И все описанное в части бизнеса здесь, применимо и для данного сервиса.
HTML для гео-данных
KML, начавшись как формат для представления данных в Google Earth, стал в итоге официальным стандартом для представления гео-данных.
P.S. А вот карты (сообщества), созданные в Геолинкс, с самого начала можно было экспортировать в KML.
P.S. А вот карты (сообщества), созданные в Геолинкс, с самого начала можно было экспортировать в KML.
Monday, April 14, 2008
Google Social API
В развитие ранних экспериментов с Google Social API - linkstore.ru обзавелся функцией поиска по социальному графу. Для имеющихся ссылок можно попробовать поискать другие ресурсы того же автора. Цель очевидна - найти новые интересные ресурсы. Для большинства отечественных ресурсов граф этот пока еще очень мал, и до такого, например, еще очень далеко. Но это дело наживное.
Кстати, поиском можно пользоваться и отдельно от linkstore. Адрес страницы: http://www.linkstore.ru/linkstore/social.jsp, а в качестве параметра требуется URL, для которого ищутся ссылки "того же" автора. Например: где есть Brad
Кстати, поиском можно пользоваться и отдельно от linkstore. Адрес страницы: http://www.linkstore.ru/linkstore/social.jsp, а в качестве параметра требуется URL, для которого ищутся ссылки "того же" автора. Например: где есть Brad
Sunday, April 13, 2008
Телефон за 500 рублей
Пока энтузиасты осваивают high-end коммуникаторы, устанавливая туда Google Android, на другом конце спектра жизнь также совсем не замерла. Hop-op подписал первые контракты с европейскими дистрибьюторами на поставку "одноразовых" телефонов за $20. На них не будет экрана. Но и цена ведь соответствующая ... А дальше такое движение, между прочим, приведет (может привести) к тому, что производителю будут заказывать такие модели под своим брендом, ориентированные на конкретный сервис (тарифный план etc.)
Saturday, April 12, 2008
Они сделали это
Android phone своими руками. Open Source реально работает :-). Вот видео эксперимента разработчиков с форума XDA-DEV, запустивших код Android SDK на HTC
практически схема такая, насколько я понимаю: базовая система на HTC - Windows Mobile, далее запушен Linux и в нем - Android. Пока не все стабильно работает, но схема есть. Потенциально это означает возможность работы Android SDK на любом Windows Mobile телефоне.
практически схема такая, насколько я понимаю: базовая система на HTC - Windows Mobile, далее запушен Linux и в нем - Android. Пока не все стабильно работает, но схема есть. Потенциально это означает возможность работы Android SDK на любом Windows Mobile телефоне.
В сетях
От социальных сетей уже никуда не деться. Вот еще одна идея (и, кажется, довольно здравая). Вот есть SourceForge - давно известное хранилище open source проектов. А теперь, вокруг системы контроля версий Git (корни восходят, кстати, к Линусу Торвальдсу, при разработке ядра Linux ее использовали), возникло сообщество - GitHub. Это вполне способно заменить SourceForge. Будет по сути то же самое, но с современными средствами общения (взаимодействия). И социальная сеть здесь вполне естественно смотрится, безо всяких вопросов типа "а что такое сеть etc.". Просто другая форма построения взаимодействия между пользователями сайта.
Friday, April 11, 2008
Это война
Andi Gutmans (это один из создателей Zend framework) напал на Java. Чисто конретно наехал. Не выжить Джаве в веб эпоху. PHP и все. Без вариантов. Такого давно не читал, можно сказать со времен нападок Microsoft на Сановский Blueprint.
Но здесь тоже, по моему мнению, автор все в кучу смешал. И ошибки какие-то странные в рассуждениях. JMV мол не масштабируется, реализации новых языков на JVM плохие. Хотя JRuby, например, (который на Java) работает быстрее оригинального брата.
Опять же, никто не мешает использовать JSP без других J2EE API. Как раз PHP и получится.
Реальная проблема, которая конечно существует - это хостинг. Здесь, в смысле доступности, PHP впереди всех.
Но здесь тоже, по моему мнению, автор все в кучу смешал. И ошибки какие-то странные в рассуждениях. JMV мол не масштабируется, реализации новых языков на JVM плохие. Хотя JRuby, например, (который на Java) работает быстрее оригинального брата.
Опять же, никто не мешает использовать JSP без других J2EE API. Как раз PHP и получится.
Реальная проблема, которая конечно существует - это хостинг. Здесь, в смысле доступности, PHP впереди всех.
Over the Air
Интересные презентации и описания продуктов с конференции мобильных разработчиков Over the Air. Конференция включала, в том числе, и своего рода startup pitch, где команды разработчиков представляли свои Mobile 2.0 проекты. Что есть интересного: обзор Mobile 2.0 приложений, Flash на телефонах Nokia, Mobile mashups, LBS приложения.
Thursday, April 10, 2008
Abaвазрение 10.04.2008
1. Одна из больших проблем с Ajax приложениями, которую приходится решать разработчику довольно часто - это так называемые cross domain запросы. Попросту - это необходимость в своем приложении получать данные с других доменов. Здесь есть разные решения. Одно из них, например, использованное здесь - специальная библиотека от Google. Но она ориентирована на частный случай - чтение RSS с других доменов. В более общем случае, необходимо просто выполнять произвольный HTTP запрос. И одно из часто используемых здесь решений - это HTTP прокси. Ajax запрос обращается к прокси на собственном сайте, а прокси уже (это серверное приложение и свободно от ограничений) выполняет запрос к ресурсу на другом домене. Вот подобного рода HTTP proxy от Yahoo для PHP проектов. Java разработчики могут воспользоваться в схожей ситации данным сервлетом.
2. Google начал публиковать учебные приложения для Android. См. Android developers блог. В принципе, это должно по идее быть тем же, что и Blueprint от Sun для J2EE приложений.
3. Хорошее практическое руководство по load balancing для Tomcat, используя Apache как front-end. См. также здесь материалы об использовании Tomcat в нагруженных системах.
2. Google начал публиковать учебные приложения для Android. См. Android developers блог. В принципе, это должно по идее быть тем же, что и Blueprint от Sun для J2EE приложений.
3. Хорошее практическое руководство по load balancing для Tomcat, используя Apache как front-end. См. также здесь материалы об использовании Tomcat в нагруженных системах.
Wednesday, April 09, 2008
Мешапы старших порядков
Основной идеей редактора мешапов MetroMap является обеспечение возможности легкого создания картографического интерфейса для уже имеющихся данных. И, естественно, созданная интерфейсная компонента (widget, control etc.) может быть интегрирована с собственным сайтом. Вот пример использования MetroMap в блоге, посвященном недвижимости. Это объявления "Из рук в руки" по аренде недвижимости.
Упомянутая статья в блоге как раз и посвящена возможному использованию MetroMap на сайтах/блогах, посвященных недвижимости. Помимо упомянутой там идеи - построение собственного "мини-сайта" конкретным агентом, можно упомянуть еще два момента:
- нет никакой специальной подготовки данных. Объявления для отображения берутся "как есть"
- поскольку это именно мешап, то можно, естественно, смешивать данные. Иными словами отобразить данные сразу из нескольких источников. Попробуйте, например, на сайте MetroMap задать сразу несколько фидов (хотя бы из представленных там примеров)
А заголовок связан со следующей интересной цепочкой построения данной конкретной карты. Исходные данные (туда в итоге смотрят ссылки на карте) - это объявления на сайте ИРР по аренде. Для этих обявлений с помощью Dapper был построен RSS feed. Далее MetroMap, используя уже данный feed, строит карту (точнее - отображает этот feed на карте). А потом уже полученная карта была вставлена в блог.
Упомянутая статья в блоге как раз и посвящена возможному использованию MetroMap на сайтах/блогах, посвященных недвижимости. Помимо упомянутой там идеи - построение собственного "мини-сайта" конкретным агентом, можно упомянуть еще два момента:
- нет никакой специальной подготовки данных. Объявления для отображения берутся "как есть"
- поскольку это именно мешап, то можно, естественно, смешивать данные. Иными словами отобразить данные сразу из нескольких источников. Попробуйте, например, на сайте MetroMap задать сразу несколько фидов (хотя бы из представленных там примеров)
А заголовок связан со следующей интересной цепочкой построения данной конкретной карты. Исходные данные (туда в итоге смотрят ссылки на карте) - это объявления на сайте ИРР по аренде. Для этих обявлений с помощью Dapper был построен RSS feed. Далее MetroMap, используя уже данный feed, строит карту (точнее - отображает этот feed на карте). А потом уже полученная карта была вставлена в блог.
Tuesday, April 08, 2008
Поджигатели
OpenFire Enterprise (расширенная версия сервера сообщений на базе XMPP) становится Open Source продуктом. С сервером, кстати, поставляется еще и Flash клиент. Базовая версия сервера и раньше была бесплатной (вот примеры программирования), а теперь таковой становится и более продвинутый вариант.
Monday, April 07, 2008
Обогреватель
Новый Data Center IBM в Цюрихе использует отводимое тепло для обогрева открытого городского бассейна. Рано, получается, бассейн Москва закрыли? А так ведь сколько возможностей, в связи с веб-бумом открывается. Теплицы там отапливать или еще что. Осталось только дождаться, кто первый придумает как решить обратную задачу - направить энергию купальщиков на обеспечение работы DC.
Google Maps Mania - 6
Появились новые записи и пришло время выпустить очередное обновление для списка проектов (систем), выполненных на базе Google Maps. То, с чего все началось, можно посмотреть здесь. Итак:
Информационные системы:
Авто-услуги
Агентство недвижимости Спб
Афиша
Все банкоматы.ru
Где этот дом
Донецк
Карта цен на квартиры в Москве
Карта рыбака
Картакадабра
Квартиры в Москве
Кинотеатры в Москве
Маршруты в Москве
МАКС 2007
Местная погода
Мурманск
Недвижимость на карте
Новостройки в Сибири
Окрестности Екатеринбурга
Отели Египта
Пермь
Пермь на карте
пос. Правдинский
Пушкино
Путешествия с Google Maps
Роддома Москвы и Санкт-Петербурга
4 туриста
Туристические карты
Туристические блоги
Сеть распространения печатной продукции
Сноуборд
Храмы России
Cosmopolitan шоппинг
Фото-биеннале
Футбольные поля
Live Events
National Geographic Traveler
User generated content (geo tagging):
Geo links
Geo SMS
View and organize geographical data
WikiMapia
Инструменты:
Big map
Geo traceroute
Metro map
Maps2lj - публикация карт в ЖЖ
Технические аспекты
Социальные сети:
Вокруг меня
За баранкой
Мир Тесен
Отдыхали.ru
Соседи-онлайн
Гаджеты и карты:
Атлас Москвы
Ветеринарные клиники в Москве
Видеокамеры ГАИ
Веб-камеры в России
Веб-камеры в Москве
Маршруты Москвы (гаджет)
Москва, район Аэропорт
Мото-сайт: помощь в дороге
Новые рестораны
Посадочные модули на Луне
Посадочные модули на Марсе
Публичные туалеты в Москве
Совы и Девы в Спб
Точечная застройка в Москве
Штрафные автостоянки в Москве
Черный список бензоколонок
Кого-то пропустили? Что-то новое? Пишите, список будем обновлять.
Информационные системы:
Авто-услуги
Агентство недвижимости Спб
Афиша
Все банкоматы.ru
Где этот дом
Донецк
Карта цен на квартиры в Москве
Карта рыбака
Картакадабра
Квартиры в Москве
Кинотеатры в Москве
Маршруты в Москве
МАКС 2007
Местная погода
Мурманск
Недвижимость на карте
Новостройки в Сибири
Окрестности Екатеринбурга
Отели Египта
Пермь
Пермь на карте
пос. Правдинский
Пушкино
Путешествия с Google Maps
Роддома Москвы и Санкт-Петербурга
4 туриста
Туристические карты
Туристические блоги
Сеть распространения печатной продукции
Сноуборд
Храмы России
Cosmopolitan шоппинг
Фото-биеннале
Футбольные поля
Live Events
National Geographic Traveler
User generated content (geo tagging):
Geo links
Geo SMS
View and organize geographical data
WikiMapia
Инструменты:
Big map
Geo traceroute
Metro map
Maps2lj - публикация карт в ЖЖ
Технические аспекты
Социальные сети:
Вокруг меня
За баранкой
Мир Тесен
Отдыхали.ru
Соседи-онлайн
Гаджеты и карты:
Атлас Москвы
Ветеринарные клиники в Москве
Видеокамеры ГАИ
Веб-камеры в России
Веб-камеры в Москве
Маршруты Москвы (гаджет)
Москва, район Аэропорт
Мото-сайт: помощь в дороге
Новые рестораны
Посадочные модули на Луне
Посадочные модули на Марсе
Публичные туалеты в Москве
Совы и Девы в Спб
Точечная застройка в Москве
Штрафные автостоянки в Москве
Черный список бензоколонок
Кого-то пропустили? Что-то новое? Пишите, список будем обновлять.
Sunday, April 06, 2008
Большие таблицы
Technorati предсказывает скорый выпуск компанией Google своего внутреннего продукта Bigtable в виде веб-сервиса. Bigtable в самом Google - это база данных, используемая, естественно, в Google Search, а также в Blogger, Google Search, Google Earth, Google Maps, Google Finance, Google Print, Orkut, YouTube. Вот, например, описание архитектуры YouTube. Очевидно, что если такое "открытие" случится, то это будет ответом на решение от Amazon
(SimpleDB), которое уже набрало популярность у веб-разработчиков. Также возможно, что поторопиться с этим Google заставит Microsoft, который сам собирается открыть подобный сервис - SQL Server Data Services.
Интересно, что если Google выдаст это сторонним разработчикам, то данные веб-приложений автомагически окажутся в базе Google Ж-). Компании для поиска не нужно будет в этой части полагаться на поисковые боты.
А так интересно, конечно. Мне кажется, что SimpleDB легко сместят с пьедестала, если Google предложит даже не полностью бесплатное решение, а частично бесплатное (типа с ограничениями на количество запросов etc. - как это есть в других API от Google). Это будет, по сути, бесплатная лицензия для разработки. А дальше, если разработчики перейдут на API от Google, то уже все ...
Кстати, у Bigtable есть Open Source клон - Hypertable.
(SimpleDB), которое уже набрало популярность у веб-разработчиков. Также возможно, что поторопиться с этим Google заставит Microsoft, который сам собирается открыть подобный сервис - SQL Server Data Services.
Интересно, что если Google выдаст это сторонним разработчикам, то данные веб-приложений автомагически окажутся в базе Google Ж-). Компании для поиска не нужно будет в этой части полагаться на поисковые боты.
А так интересно, конечно. Мне кажется, что SimpleDB легко сместят с пьедестала, если Google предложит даже не полностью бесплатное решение, а частично бесплатное (типа с ограничениями на количество запросов etc. - как это есть в других API от Google). Это будет, по сути, бесплатная лицензия для разработки. А дальше, если разработчики перейдут на API от Google, то уже все ...
Кстати, у Bigtable есть Open Source клон - Hypertable.
Friday, April 04, 2008
Их пробки
Из обновленного приложения Большая Карта. Дорожная обстановка на дорогах Америки. См. Traffic тулбар.
Thursday, April 03, 2008
Еще о тонких серверах
Wednesday, April 02, 2008
Раздетый веб
Акция вебмастеров, намеченная на 9 апреля - "Удалите на 1 день CSS с сайта". Цель - показать всем, как оно будет без форматирования. И тем самым продвинуть в массы идею о важности единых стандартов. Все посетители будут видеть сайты так, как их видят боты поисковых сетей.
P.S. если случится, то ведь это будет посильнее"Фауста" Гете бойкота золотушного Супа.
P.S. если случится, то ведь это будет посильнее
Большая карта
В честь обретения нового монитора - Большая карта. Полноэкранная карта Google с Google Toolbar для локального поиска.
Tuesday, April 01, 2008
Абавазрение 01.04.2008
Некоторые полезные ресурсы:
1. 6 перспективных Open Source компаний. Эти компании, по мнению обозревателей, имеют шансы стать новой Red Hat. Про упомянутый RingSide мы уже читателей предупреждали, из других компаний мы тестировали сервер для построения приложений на основе SOA - Accelerator. Интересный продукт.
2. Пример использования YouTube API: закладки в плейере
3. Мобильный шаблон для blogger.com. То есть это по факту средство для создания и ведения мобильного сайта на базе blogger.com. А у blogger ведь есть и API. То есть процесс поставки материалов на сайт можно и автоматизировать ...
4. iPhone эмулятор.
1. 6 перспективных Open Source компаний. Эти компании, по мнению обозревателей, имеют шансы стать новой Red Hat. Про упомянутый RingSide мы уже читателей предупреждали, из других компаний мы тестировали сервер для построения приложений на основе SOA - Accelerator. Интересный продукт.
2. Пример использования YouTube API: закладки в плейере
3. Мобильный шаблон для blogger.com. То есть это по факту средство для создания и ведения мобильного сайта на базе blogger.com. А у blogger ведь есть и API. То есть процесс поставки материалов на сайт можно и автоматизировать ...
4. iPhone эмулятор.
Subscribe to:
Posts (Atom)
