Monday, June 30, 2008

Сокрытие данных

Хостинг провайдер скрывает телефон владельца сайта. Вместо него публикуется номер, по которому можно оставить голосовое сообщение. Это сообшение в виде mp3 файла будет передано реальному владельцу сайта.
Подобного рода задачи есть еще одна модель для использования сервиса Voice 2 Email. Здесь вы можете получить код для донабора при звонке на сервисный номер и привязать к этому коду произвольный email адрес. При звонке на сервисный номер и ввооде кода донабора можно записать голосовое сообщение, которое автоматически будет отправлено по связанному email (mp3 файл в аттачменте). Попробовать как это работает можно здесь.

Это должен знать каждый

60+ примеров форм для авторизации в веб-приложениях. Именно те самые login form, нужные почти в каждом веб-приложении. Безудержный полет дизайнерской мысли.

Sunday, June 29, 2008

Mashups

Хороший материал на java.sun.com о программировании мэшапов. Рассматриваются server side mashups. Кстати, Java программисты могут воспользоваться готовыми компонентами для решения упоминаемых в статье задач. Coldtags suite, например, предлагает следующие компоненты: Yahoo Geocode, Google Geocode, Geo IP. Например, наш проект по визуализации результатов команды traceroute - GeoTrace использует эти компоненты.

Очеловечивание API

Last.fm опубликовал новую версию своего API. Как обычно - REST. Но вот интересна такая фраза в описании о построении запросов: "Please use an identifiable User-Agent header on all requests. Like this you don't risk getting banned and it helps our logging". Ясно ведь, что HTTP запрос будет формироваться программно. Конечно, не трудно поставить и заголовок User-Agent по своему усмотрению. Вот только зачем им это нужно? Зачем нужно представлять дело так, что программный запрос послан человеком? У Googlе, кстати, в некоторых API есть такие же требования. Это какая-то новая тенденция?

Saturday, June 28, 2008

Одна мобильная платформа?

Nokia выкупила недостававшую ей часть Symbian и планирует далее развивать этот проект как Open Source (лицензия Eclipse). Двигать теперь это будет Symbian Foundation. И теперь, на роль единой платформы для мобильных устройств претендуют, по крайней мере, Symbian Foundation, Android, LiMo. А еще ведь есть iPhone, Java FX, Java ME. Прежде чем объединиться, нужно разъединиться?

Friday, June 27, 2008

О недвижимости

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

Thursday, June 26, 2008

Ганимед

Если вы пользуетесь средой Eclipse, то тогда эта информация для вас. Eclipse Ganymede доступен для загрузки. 23 различных проекта - весьма впечатляющий список. Загрузить релиз можно здесь.

Cтенгазета 26.06.2008

Некоторые последние обновления в сервисах:

1. LinkStore обрел табло. Теперь все последние изменения можно видеть на одном экране. Также обновлен экспорт данных. Теперь можно получить код для данных, отсортированных по любому критерию (голоса, просмотры, время поступления и т.д.) - см. здесь.

2. Технические обновления в сервисе Voice2Email - запись mp3 файлов по телефону.

3. Статья о практическом примененении IMS - как реализовать заявленные сервисы уже существующими средствами. См.: To IMS through IMS-like services: Russian experience

Wednesday, June 25, 2008

200 лет

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

Tuesday, June 24, 2008

Образовательное

Открыт прием в магистратуру факультета ВМиК МГУ, а также набор на программу дополнительного образования. Детали - здесь

P.S. а в университете тоже начали отслеживать тренды - для стандартных задач использовать готовые Open Source системы. Сайт явно сделан на Drupal.

Абавазрение 24.06.2008

Некоторые интересные (и полезные!) Open Source продукты:

1. PHPIDS - (PHP-Intrusion Detection System) простая в использовании система определения атак для PHP. Технически - набор правил для проверки входных данных и распознавания в них "вредных" шаблонов.

2. Grizzly - масштабируемый фреймворк на базе Java New I/O API (NIO). Если нужна, например, серверная компонента для TCP/IP - это то, что нужно. Реально там больше, конечно (например, сервлеты и поддержка Comet). Ericsson, например, использовал это для реализации своих SIP продуктов.

3. Atmosphere - POJO пакет для поддержки Comet (кстати, сделан на основе упомянутого выше Grizzly). Идеально, конечно, если таковое будет, наконец, реализовано в спецификации Servlet 3.0, а пока можно использовать данный пакет.

Monday, June 23, 2008

О всеобщем

Большинство последних московских роликов, опубликованных на YouTube, посвящены футболу и празднованиям по этому поводу.

MetroMap - 4

Обновления в проекте MetroMap - Google Maps mashup, который выполняет автоматический геокодинг данных по привязке к ближайшей станции метро. Идея очень проста - поддержать автоматический геокодинг для существующих данных. Или, иными словами, автоматически публиковать на карте уже существующие данные. Или, что есть то же самое, обеспечить простой способ добавления картографического интерфейса для уже существующих данных.
В качестве основы для геокодинга выбрана привязка к станции метро (для Москвы в текущей версии). Идея в том, что во многих публикациях (объявлениях, публикациях в блогах и т.п.) упоминается ближайшая станция метро (типа метро Павелецкая, ст.м. Динамо). Следовательно, если мы получим такие данные в некотором стандартном формате, то можно будет выделить станции из текста и провести на этой основе геокодинг - то есть привязать тексты к географическим координатам. Что, собственно говоря, и делается в MetroMap. В качестве стандартного формата был выбран RSS.

В новых примерах вы можете видеть картографическое представление двух квартирных сообществ из livejournal.com: msk_kvartira и kvartira_msk

Также, помимо пользовательского интерфейса, который позволяет загрузить карту и получить ссылку для своего сайта/блога, теперь можно непосредственно использовать MetroMap для отрисовки RSS данных на карте. Просто используйте следующий линк в своих проектах:
http://metromap.linkstore.ru?url=ваш_RSS_фид

Другие параметры, которые можно задавать непосредственно для ссылки:
w - определяет ширину карты (по умолчанию - весь экран)
h - определеяет высоту карты (по умолчанию - веь экран)
с - задает время кэширования для RSS в минутах (по умолчанию - 60 минут)

Вот пример: прямая ссылка на карту из сообщества LJ Msk kvartira

Историю разработки см. подробнее здесь.

Sunday, June 22, 2008

72 часа

Интересное иссследование, повященное проблемам кэширования данных для видеохостингов. На YouTube, например, за одну минуту выгружают 10 часов вещания. Чтобы доступ был быстрый, данные нужно кэшировать. А при таких объемах - это не самое дешевое дело. Проведенное исследование показывает, что новое видео смотрят, в основном, первые три дня:



Соответственно, глубину кэширования можно ограничить тремя сутками. Уже легче.

P.S. А кое-кто знал об этом и раньше. Вот сервис LinkStore с самого начала был так и задуман - представить новые ресурсы на 72 часа. З дня в точности. Вполне достаточно, чтобы потенциальные читатели решили интересно им что-то или нет. И если интересно - добавили бы найденный ресурс к себе в закладки/RSS/что еще. Не сам LinkStore, а напрямую то, что нашли с его помощью. В этом все дело. Сам LinkStore - просто база данных (витрина). От нее требуется только упростить процесс представления. Там и регистрироваться не нужно. А коротко живущие данные там как раз и закэшированы.

Friday, June 20, 2008

Utkonos

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

P.S. сотрудник Microsoft Research среди авторов ...

Metro Map - 3

Обновления в проекте MetroMap - Google Maps mashup, который выполняет автоматический геокодинг данных по привязке к ближайшей станции метро (см. подробнее здесь). А в новых примерах вы можете видеть картографическое представление двух квартирных сообществ из livejournal.com: msk_kvartira и kvartira_msk

P.S. Интересно для сообществ названия выбирали - видимо это злейшие конкуренты :-). Кстати, в MetroMap вы их можете отрисовать на одной карте.

Thursday, June 19, 2008

Маршрутизация

Понадобилось тут бумажное письмо отправить. В не такое уж и далекое зарубежье. Все как положено, большой конверт на почте выдали, за уведомление о вручении денег взяли etc.
Через неделю приходит мне извещение: уже мне пришло письмо. Из этого самого зарубежья, вроде как. Нехорошие мысли, честно говоря, закрались сразу. Прихожу на почту. И точно - мне собираются вручить мое же письмо. Диалог на почте:
- А зачем вы мне это возвращаете? Это я же здесь и отправил!
- Мужщина, тут же ваш адрес указан. Что вы нас путаете! Заполняйте
получение и уходите. Очередь не задерживайте.
- Так это же обратный адрес (от кого), а куда отправить - вот написано
- Ой е ...

Они письмо отправили мне же, по обратному адресу. Через неделю дошло ...
Хотя с другой стороны - а ведь не потерялось вовсе. Работает система, однако. Loopback, практически.

Tomcat кластер

Пошаговое руководство по установке кластера Tomcat. Другие публикации по Tomcat - см. здесь.

Wednesday, June 18, 2008

Кто, где, когда

Yahoo прислал приглашение для своего сервиса Fire Eagle. Он представляет из себя централизованную базу данных, куда зарегистрированный пользователь может занести (по своей инициативе) информацию о своем местоположении. Просто база данных для хранения информации о позиционировании. С разными методами доступа для зарегистрированных пользователей (включая, доступ с использованием мобильных клиентов). Идея в том, что помимо интерфейса для пользователей по вводу/обновлению местоположения, эта база данных предоставляет еще и программный интерфейс, который позволяет писать приложения, запрашивающие информацию о местоположении пользователя из этой базы.
При этом каждый пользователь сам разрешает (или запрещает в произвольный момент времени) конкретному приложению запрашивать информацию о своем местоположении. Именно так - конкретный пользователь авторизует конкретное приложение на запрос информации о себе. Этакая глобальная presence system.

Ну а дальше уже понятно. Если пользователи, например, социальной сети (сайта) пользуются Fire Eagle, то сеть (сайт) с помощью этого API может решать кто и где, оказывать услуги с учетом местоположения и т.д.

Почему нам было интересно познакомиться с сервисом? Просто мы еще раньше делали подобную систему. GeoSms были задуманы именно как такое хранилище с открытым API для координатных данных. Значит, идея была правильная. Хотя с реализацией Yahoo, конечно, преуспел больше :-)
Кстати, если кому еще интересны разработки на основе Fire Eagle, то здесь можно присоединиться к обсуждению проблем.

Tuesday, June 17, 2008

Большая карта - 2

Обновился наш Google Maps mashup - BigMap. Полноэкранная карта с Google Toolbar для локального поиска.

Мобильно-социальное

Интересный обзор мобильных социальных сетей. Автор насчитал уже 47 мобильных сетей. И трафик они показывают уже совсем не шуточный.

Mobile Processing

Проект Processing теперь адаптирован для мобильных устройств. В результате получилось работающее на основе OpenGL средство быстрого прототипирования мобильных приложений. Технически работает поверх J2ME. И достаточно, судя по описанию, даже MIDP 1.0

Monday, June 16, 2008

Клиент Gmail

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

Friday, June 13, 2008

Google App CDN

Практическая публикация о том, как построить свою Content Delivery Network (то есть попросту систему хранения файлов) на базе Google Apps. Еще один способ использовать Google. Google сам уже предлагает подобную систему для рапространения JavaScript библиотек. Теперь каждый может построить свою собственную. Хотя, как справедливо отмечается в комментариях к статье, главный вопрос здесь - оптимизация самой системы Google Apps с точки зрения распространения контента. Помнится, был целый ряд проектов, которых использовал как систему хранения просто Gmail (файлы хранились как аттачменты к письмам) - благо там бесплатного места много.

Thursday, June 12, 2008

DB models

Интересная идея - коллекция моделей данных. Т.е., практически, схемы БД, использовавшихся в различных прикладных задачах.

Wednesday, June 11, 2008

Не замай, дай подойти

Стив Джобс полагает, что iPhone поступит в продажу в России до конца года. Отсюда

Айпонизация всей страны

А вот интересно, в связи с появлением 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.

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м. Подкасты по телефону. Газету Ведомости, например, реально слушают по телефону

Об 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% по их оценкам)

Friday, June 06, 2008

IT outlook

Продолжая эксперименты с Google Partner Bar API (см. здесь, например, об IT blogs или здесь о GTV) - еще один mashup: IT outlook. Асинхронная загрузка данных со сторонних сайтов и представление данных в виде notes.

Android video

В дополнение к публикации о Google I/O - видео с сессий, посвященных Android

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
Соседи-онлайн

Гаджеты и карты:

Атлас Москвы
Ветеринарные клиники в Москве
Видеокамеры ГАИ
Веб-камеры в России
Веб-камеры в Москве
Цены на жилье
Маршруты Москвы (гаджет)
Москва, район Аэропорт
Мото-сайт: помощь в дороге
Новые рестораны
Поджоги машин в Москве
Посадочные модули на Луне
Посадочные модули на Марсе
Публичные туалеты в Москве
Совы и Девы в Спб
Точечная застройка в Москве
Штрафные автостоянки в Москве
Черный список бензоколонок

Кого-то пропустили? Что-то новое? Пишите, список будем обновлять.

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 библиотеке.

Wednesday, June 04, 2008

Архитектура BBC

Презентация по архитектуре BBC. Что интересно: используют PHP как front-end (практически - Zend), а серверная часть - Java (Spring)

В огне

Поджоги машин в Москве на карте Google: http://tinyurl.com/67bbej

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 телефонах

Модель использования 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

Чтиво 01.06.2008

Популярные статьи по данным linkstore.ru:

Объявления

В попытках спасти газетный бизнес (см. здесь, например), коллективный разум создал сайт с довольно интересными мыслями и дискуссиями о том, как должны выглядеть classified в новых экономических условиях.
Кстати, нам тоже есть что предложить здесь. Наш старый проект Объявления 2.0