технические проблемы и идеи, родившиеся в бурных водах реки Abava (а равно как и на ее берегах, далеких и близких), выставленные на всеобщее обсуждение
Sunday, August 31, 2008
JSR 289
JSR 289 (SIP servlet 1.1) готова. Reference Implementation может быть загружена по этой ссылке.
P.S. а все-таки пока еще не привычно читать инструкцию по установке для Oracle Weblogic Server.
P.S. а все-таки пока еще не привычно читать инструкцию по установке для Oracle Weblogic Server.
Saturday, August 30, 2008
Главбух на карте
Еще один пример использования MetroMap - работа для бухгалтеров/аудиторов по данным HeadHunter.ru
Friday, August 29, 2008
Универсам
Google подтвердил, что аналог Apple Store для iPhone будет реализован и для платформы Android. Начнут с бесплатных приложений. Пользователь при загрузке будет видеть, по крайней мере, какие ресурсы на телефоне затрагивает приложение:
Что там может быть - можно понять здесь. Это финалисты и победители Android Development Challenge.
Что там может быть - можно понять здесь. Это финалисты и победители Android Development Challenge.
Золото превращается ...
Никак не удавалось увидеть нормальную работу Golden Wifi. И не удастся - развитие сети в Москве решено прекратить
QR коды на карте
Продолжая серию обновлений в наших картографических мэшапах (Большая карта, Мобильная карта) - обновился и мэшап QR-map. Теперь стала удобней навигация - можно прямо найти нужное место.
Идея простая. Вы находите нужное место на карте (маркер помечает середину карты) и создаете QR-код для данного участка карты (кликните на иконке с конвертом). Полученная ссылка как раз и ведет к QR-коду.
Вот пример кода по полученной тестовой ссылке (http://tinyurl.com/6fkdf9):
Далее этот код можно распечатать или каким-либо иным образом предъявить мобильным пользователям. Код можно сканировать с помошью мобильного телефона и получить после автоматического распознавания карту:
То есть, сканировав код, пользователь сразу получит на своем телефоне соответствующую картинку с картой. Программы распознавания QR-кодов существуют уже практически для всех мобильных платформ.
В итоге получился очень простой способ доставки картографической информации мобильным абонентам.
Идея простая. Вы находите нужное место на карте (маркер помечает середину карты) и создаете QR-код для данного участка карты (кликните на иконке с конвертом). Полученная ссылка как раз и ведет к QR-коду.
Вот пример кода по полученной тестовой ссылке (http://tinyurl.com/6fkdf9):
Далее этот код можно распечатать или каким-либо иным образом предъявить мобильным пользователям. Код можно сканировать с помошью мобильного телефона и получить после автоматического распознавания карту:
То есть, сканировав код, пользователь сразу получит на своем телефоне соответствующую картинку с картой. Программы распознавания QR-кодов существуют уже практически для всех мобильных платформ.
В итоге получился очень простой способ доставки картографической информации мобильным абонентам.
Thursday, August 28, 2008
Aptana Jaxer
Мы описывали ранее Open Source Ajax сервер - Jaxer. А вот и руководство от IBM по практическому программированию Jaxer. Вот модель, предлагаемая Jaxer:
Соответственно, код на сервере и клиенте может быть один и тот же код (JavaScript):
<script type="text/javascript" runat="both">
/*
* Easy access to a named element in the DOM
*/
function $(id)
{
return document.getElementById(id);
}
/*
*
*/
function addTaskToUI(description, id)
{
var newId = id || Math.ceil(1000000000 * Math.random());
var div = document.createElement("div");
div.id = "task_" + newId;
div.className = "task";
var checkbox = document.createElement("input");
checkbox.setAttribute("type", "checkbox");
checkbox.setAttribute("title", "done");
checkbox.setAttribute("id", "checkbox_" + newId);
Jaxer.setEvent(checkbox, "onclick", "completeTask(" + newId + ")");
div.appendChild(checkbox);
var input = document.createElement("input");
input.setAttribute("type", "text");
input.setAttribute("size", "60");
input.setAttribute("title", "description");
input.setAttribute("id", "input_" + newId);
input.value = description;
Jaxer.setEvent(input, "onchange",
"saveTaskInDB(" + newId + ", this.value)");
div.appendChild(input);
$("tasks").insertBefore(div, $("tasks").firstChild);
if (!Jaxer.isOnServer)
{
saveTaskInDB(newId, description);
}
}
</script>
в одной части добавляется новый элемент (элементы) для ввода, в другой - еще и сохраняется в базе. А значение атрибута runat как раз и определяет, где исполнять код.
Работа с базой данных выглядит примерно так:
<script type="text/javascript" runat="server">
/*
* The SQL to create the database table we'll use to store the tasks
*/
var sql = "CREATE TABLE IF NOT EXISTS tasks " +
"( id INTEGER NOT NULL" +
", description VARCHAR(255)" +
", created DATETIME NOT NULL" +
")";
// Execute the sql statement against the default Jaxer database
Jaxer.DB.execute(sql);
</script>
Соответственно, код на сервере и клиенте может быть один и тот же код (JavaScript):
<script type="text/javascript" runat="both">
/*
* Easy access to a named element in the DOM
*/
function $(id)
{
return document.getElementById(id);
}
/*
*
*/
function addTaskToUI(description, id)
{
var newId = id || Math.ceil(1000000000 * Math.random());
var div = document.createElement("div");
div.id = "task_" + newId;
div.className = "task";
var checkbox = document.createElement("input");
checkbox.setAttribute("type", "checkbox");
checkbox.setAttribute("title", "done");
checkbox.setAttribute("id", "checkbox_" + newId);
Jaxer.setEvent(checkbox, "onclick", "completeTask(" + newId + ")");
div.appendChild(checkbox);
var input = document.createElement("input");
input.setAttribute("type", "text");
input.setAttribute("size", "60");
input.setAttribute("title", "description");
input.setAttribute("id", "input_" + newId);
input.value = description;
Jaxer.setEvent(input, "onchange",
"saveTaskInDB(" + newId + ", this.value)");
div.appendChild(input);
$("tasks").insertBefore(div, $("tasks").firstChild);
if (!Jaxer.isOnServer)
{
saveTaskInDB(newId, description);
}
}
</script>
в одной части добавляется новый элемент (элементы) для ввода, в другой - еще и сохраняется в базе. А значение атрибута runat как раз и определяет, где исполнять код.
Работа с базой данных выглядит примерно так:
<script type="text/javascript" runat="server">
/*
* The SQL to create the database table we'll use to store the tasks
*/
var sql = "CREATE TABLE IF NOT EXISTS tasks " +
"( id INTEGER NOT NULL" +
", description VARCHAR(255)" +
", created DATETIME NOT NULL" +
")";
// Execute the sql statement against the default Jaxer database
Jaxer.DB.execute(sql);
</script>
Маленькая шара
Мэшап Мобильные карты позволяет теперь поделиться ссылкой на созданную карту через Twitter и/или Facebook. Реализация - здесь
Wednesday, August 27, 2008
Google алфавит
Аз, буки и веди, практически. В честь грядущего дня Знаний - алфавит от Google. Самые популярные слова русского языка по мнению Google Suggest:
А - аэрофлот
Б - бдж
В - в контакте
Г - грузия
Д - домодедово
Е - евросеть
Ё - ежик в тумане
Ж - жди меня
З - знакомства
И - игри
Й - йога
К - карта киева
Л - летище софия
М - мтс
Н - новости
О - одноклассники
П - погода
Р - работа
С - сонник
Т - техномаркет
У - унсс
Ф - фильмы онлайн
Х - хороскоп (!!!)
Ц - цхинвали
Ч - чез
Ш - шереметьево
Щ - щори
Ъ - ъпсурт
Ы - ыандекс (!!!)
Ь - ьщтун
Э - эхо москвы
Ю - южной осетии
Я - яндекс
найти хороскоп на ыандексе ...
Аналогичный список для английского можно посмотреть здесь.
А - аэрофлот
Б - бдж
В - в контакте
Г - грузия
Д - домодедово
Е - евросеть
Ё - ежик в тумане
Ж - жди меня
З - знакомства
И - игри
Й - йога
К - карта киева
Л - летище софия
М - мтс
Н - новости
О - одноклассники
П - погода
Р - работа
С - сонник
Т - техномаркет
У - унсс
Ф - фильмы онлайн
Х - хороскоп (!!!)
Ц - цхинвали
Ч - чез
Ш - шереметьево
Щ - щори
Ъ - ъпсурт
Ы - ыандекс (!!!)
Ь - ьщтун
Э - эхо москвы
Ю - южной осетии
Я - яндекс
найти хороскоп на ыандексе ...
Аналогичный список для английского можно посмотреть здесь.
Заголовки
Интересная коллекция бесплатных заголовков для сайта/блога. Ну а сам дизайн для сайта можно подобрать здесь: Open Source Web Design
Большая шара
Новости одной строкой. Мэшап BigMap (полноэкранная Google-карта) поддерживает теперь Twitter и Facebook.
Tuesday, August 26, 2008
Разовая ссылка
Сервис Secure Messages теперь позволяет посылать одноразовые ссылки через Twitter и Facebook. Попробовать можно здесь.
Почему здесь?
Интересные замечания о LBS приложениях. Действительно, важным моментом (именно для сервисов) является не просто определение координат пользователя (где он), а знание контекста (почему он здесь). Предлагать ведь что-то по месту можно (эффективно) только при знании контекста. Мы писали о схожих вещах здесь (по поводу рекламы в микроблоге)
Гео-поиск
Google добавил работу с географическими координатами к своему Аjax API. Мы уже писали об этом. Это простой способ получить информацию о географических координатах пользователя (пара широта/долгота для IP адреса). И получить эту информацию непосредственно в JavaScript, без использования собственного сервера. Вот простой пример, как это выглядит на практике: Гео-поиск. Задействуется поиск от Google, сообразно тому, где находится пользователь (его IP адрес, конечно). Попробуйте. Заодно можно будет проверить насколько точно Google определяет адрес.
P.S. а серверные комоненты для решения подобной задачи можно посмотреть, например, здесь. В мэшапе Geo trace, который визуализирует результаты команды traceroute, использовались серверные компоненты.
P.S. а серверные комоненты для решения подобной задачи можно посмотреть, например, здесь. В мэшапе Geo trace, который визуализирует результаты команды traceroute, использовались серверные компоненты.
Monday, August 25, 2008
Как это делают в Одессе
В Польше нанимают (за деньги) актеров, изображать очереди за iPhone. Интересно, как это будет устроено в России ...
Тестирование производительности
Мы публиковали в блоге уже достаточно много материалов по производительности веб-приложений. А вот полезный практический сервис:
http://pagetest.patrickmeenan.com:8080/
Вы указываете URL для своего сайта и сервис прводит тестирование с выдачей рекомендаций в духе Yslow. Вот, например, картина загрузки для linkstore.ru (кликабельно):
http://pagetest.patrickmeenan.com:8080/
Вы указываете URL для своего сайта и сервис прводит тестирование с выдачей рекомендаций в духе Yslow. Вот, например, картина загрузки для linkstore.ru (кликабельно):
Sunday, August 24, 2008
CSS reload
Частая проблема в процессе веб разработки - стили (CSS) на сайте поменялись, а в браузере, естественно, старая версия. Можно, конечно, перегрузить страницу, но что если не хочется после этого снова повторять какой-то ввод данных и т.п.? Вот полезный bookmarklet, который позволяет обновить CSS файлы в браузере без полной перегрузки страницы:
CSS reload
Как обычно - просто сохраните эту ссылку у себя в закладках. Другие публикации с bookmarklet см. здесь
CSS reload
Как обычно - просто сохраните эту ссылку у себя в закладках. Другие публикации с bookmarklet см. здесь
Saturday, August 23, 2008
Где я
Google Ajax API теперь поддерживает гео-кодинг на основе IP адреса. После загрузки API теперь доступен объект google.loader.ClientLocation, со следующими атрибутами:
latitude
longitude
address.city
address.country (наименование страны)
address.country_code (код страны по ISO 3166-1)
address.region
(см. здесь)
Кстати, определение координат добавлено и в Gears. А Gears уже есть на мобильных устройствах ...
latitude
longitude
address.city
address.country (наименование страны)
address.country_code (код страны по ISO 3166-1)
address.region
(см. здесь)
Кстати, определение координат добавлено и в Gears. А Gears уже есть на мобильных устройствах ...
Google Maps API
Что-то не все ладно в королевстве. Не успели отойти от проблем с blogger.com, как в Google Maps API поломалась функция map.enableGoogleBar().
P.S. от использования пока отказались, функционирование редактора мэшапов MetroMap восстановлено. Последняя версия - здесь.
P.S. от использования пока отказались, функционирование редактора мэшапов MetroMap восстановлено. Последняя версия - здесь.
Friday, August 22, 2008
QR - коды в картографии
Примеры использования QR-кодов в картографии. Один из описываемых продуктов - это наш сервис QR map
Еще о визуализации
Мы уже описывали некоторые интересные средства визуализации данных. А вот и еще одна подборка
Репликации и кэширование данных
Интересный материал по поддержке репликаций в Facebook. 2 териториально разнесенных дата-центра (на разных побережьях США). Для MySQL, соответственно, схема master-slave. Задержка в передаче данных при репликации может достигать 20 секунд. Если, например, обновили мастер-базу и послали реплику в другую систему, то кэш на удаленной стороне (используется memcached) все равно будет содержать старое значение. Для решения этой проблемы расширили реализацию SQL. По сути - добавили триггер, который при получении обновления еще и удаляет старое значение из своего кэша. Так, чтобы при следующем обращении оно уже запросилось бы из базы. Вот так, например, выглядит модифицированный SQL запрос (изменение имени в профайле):
REPLACE INTO profile ('first_name') VALUES ('Monkey') WHERE 'user_id'='jsobel' MEMCACHE_DIRTY 'jsobel:first_name'
MEMCACHE_DIRTY - и есть добавка к синтаксису
На самом деле это даже более общий вопрос. Он, например, и в J2EE сообществах периодически поднимался. Кэш уровня приложения - он точно должен быть самостоятельным, или являться частью БД? Те же старые entity beans, применительно к EJB? Ведь то, что делает Facebook - это обеспечение совместной работы кэша и базы данных. Так может возможность их совместной работы должна быть изначально?
REPLACE INTO profile ('first_name') VALUES ('Monkey') WHERE 'user_id'='jsobel' MEMCACHE_DIRTY 'jsobel:first_name'
MEMCACHE_DIRTY - и есть добавка к синтаксису
На самом деле это даже более общий вопрос. Он, например, и в J2EE сообществах периодически поднимался. Кэш уровня приложения - он точно должен быть самостоятельным, или являться частью БД? Те же старые entity beans, применительно к EJB? Ведь то, что делает Facebook - это обеспечение совместной работы кэша и базы данных. Так может возможность их совместной работы должна быть изначально?
Thursday, August 21, 2008
Мобильный хот-спот
Интересный хак - за 15 евро можно превратить свой телефон с WiFi (S60, Windows Mobile) в точку доступа WiFi
Одноразовые сообщения
"Желтое" дело, начатое сервисами Аннотированные ссылки и Yellow Paper продолжается. Новый сервис Одноразовые сообщения позволяет (в соответствии с названием) обмениваться сообщениями с ограниченным временем жизни. Вы набираете текст и получаете ссылку для публикации. Ссылкой можно поделиться с получателями (email, twitter). При этом получатель ссылки сможет прочесть ее содержимое только один раз. После первого обращения она автоматически удаляется. После прочтения - сжечь, иными словами. Один из примеров использования - обмен приватными сообщениями через публичную среду (например, через публичную ленту в twitter). Детали - здесь
Развиртуализация?
VMware рассматривает вопрос об обретении собственной операционной системы и, возможно, купит Red Hat. Кстати, если это случится, то значимость (использование) JBoss явно вырастет.
За Машенек
Новая версия MySQL 6.0.6 поддерживает и новую storage engine - Maria. Эта система введена как устойчивая к сбоям альтернатива MyISAM. Расширенный журнал теперь поддерживает и такие операции как CREATE, DROP, RENAME, TRUNCATE.
Wednesday, August 20, 2008
Еще о bookmarklets
Мы уже писали о bookmarklet в связи с сервисом Click to Mobile. Bookmarklet - это небольшое приложение на JavaScript, которое может быть сохранено непосредственно в закладках пользовательского браузера. Смысл состоит в том, что сохранив такое приложение у себя в закладках, его можно будет использовать далее для какой-либо обработки текущей страницы в браузере. В сервисе Click to Mobile обработка заключалась в сохранении текущей страницы.
А вот новая коллекция полезных скриптов:
Google Translate - транслирует сайт на английский язык
Запретить Style Sheet - запрещает CSS на сайте. Можно посмотреть, как выглядит сайт в "голом" виде.
Как и с любым другим букмарклетом - для IE кликните правой кнопкой мыши на линке и выберите Add to Favorites. Для Firefox по правой кнопке мыши выберите Bookmark This Link.
А вот новая коллекция полезных скриптов:
Google Translate - транслирует сайт на английский язык
Запретить Style Sheet - запрещает CSS на сайте. Можно посмотреть, как выглядит сайт в "голом" виде.
Как и с любым другим букмарклетом - для IE кликните правой кнопкой мыши на линке и выберите Add to Favorites. Для Firefox по правой кнопке мыши выберите Bookmark This Link.
Tuesday, August 19, 2008
Android SDK 0.9
Вышел новый релиз Android SDK. Размер кода - 8 миллионов строк. Еще не финальный релиз, но согласно опубликованному родмапу, финальная версия и сам телефон должны быть выпущены в 4-м квартале 2008 года. Что появилось нового - пока изучаем, но есть и потери: удалены GTalkService и Bluetooth API. Последнее решение особенно интересно - почему?
Маленькие хитрости Twitter
Как выяснилось, в Twitter можно задать команду изменения статуса (постинга нового сообщения) непосредственно в параметрах URL. Выглядит это так:
twitter.com/home?status=your_message
Например:
I am reading Abava blog
twitter.com/home?status=your_message
Например:
I am reading Abava blog
Что лучше
Очередной список "дорогих" слов для Google Adsense. Help Desk и Search Engine Marketing (стоят больше 20 долларов) лучше, чем Haircut и Online Degree (по доллару) :-)
Но в целом, IT терминология явно не в фаворе.
Но в целом, IT терминология явно не в фаворе.
Monday, August 18, 2008
Обмен файлами
Простая система обмена файлами fwup. Никакой регистрации, что главное :) Просто загружаете файл и получаете ссылку на него. Кстати, реализация подобного сервиса на JSP - это всего лишь один пользовательский таг из Coldtags suite коллекции - Upload taglib
Кому война ...
Война и Web 2.0 ресурсы:
Видео на YouTube, посвященное событиям в Осетии
Фотографии на Flickr - Georgia war
Видео на YouTube, посвященное событиям в Осетии
Фотографии на Flickr - Georgia war
Кэширование в JSP
Один интересный способ использования кэша в JSP. Компонента (taglib) Timer tag позволяет выполнять указанный фрагмент JSP кода не чаще чем один раз в течение заданного интервала. Например, запрашивать данные из БД не чаще, чем один раз в 60 секунд и т.д. Слова "не чаще" относятся, с очевидностью, к тому факту, что конкретный JSP файл в веб-приложении будет выполняться так, как того требует логика приложения, что зависит от пользователя. Так вот - помимо собственно кэширования эту компоненту можно использовать для программирования работы с публичными API, которые предоставляются Web 2.0 приложениями. Многие из них накладывают ограничения на использование. Например, Twitter разрешает 70 запросов в час, Google geocode также накладывает ограничения на частоту использования и т.д. Можно просто "обернуть" вызовы таких API с помощью Timer tag. Например, обращение к Twitter не чаще, чем 1 раз в 60 секунд:
<t:timer interval="60">
здесь код, работающий с Twitter API
</t:timer>
<t:timer interval="60">
здесь код, работающий с Twitter API
</t:timer>
Sunday, August 17, 2008
Saturday, August 16, 2008
Friday, August 15, 2008
IM национальность
Интересная статистика - разделение популярности IM по национальным признакам. Русско-германское ICQ получается. Отсюда
Thursday, August 14, 2008
Не идет
Twitter приостановил обновления по SMS в Европе. Причина естественна - дорого получается. Но удобство использования direct messages сильно снизилось.
Image info
Мы уже описывали полезные приложения, запущенные на основе Google Apps Engine (см. например, smtp2web). А вот еще одно - IMG 2 JSON. Позволяет выделять мета-данные из картинок. Можно, например, получить EXIF секцию, содержащую информацию о камере, месте съемки (очень актуально, в связи с разными информационными войнами) и т.д. Данные, как следует из названия, возвращаются в формате JSON. Соответственно, не составило труда запустить простой мэшап, который позволяет исследовать картинки в онлайне - Image info. Просто скопируйте в форму URL с картинкой и получите содержащиеся там мета-данные. Детали - здесь.
Wednesday, August 13, 2008
Аренда в Москве
Еще один пример использования редактора мэшапов MetroMap:
Аренда квартир в Москве
источник данных - сайт balog.ru
Аренда квартир в Москве
источник данных - сайт balog.ru
Tuesday, August 12, 2008
Коммерческая недвижимость
И еще один пример использования редактора мэшапов MetroMap:
Коммерческая недвижимость в Москве
источник данных - сайт AIP Realty
Коммерческая недвижимость в Москве
источник данных - сайт AIP Realty
iPhone-изация
Мы уже описывали простой трюк, который позволяет быстро построить мобильную версию сайта. Там используется Google reader и RSS фид для сайта. Кстати, адрес фида(если он есть) можно ведь получать и программно - просто разобрав заголовок страницы сайта. А вот еще интересный подход, ориентированный на iPhone.
Schmap - позволяет быстро и просто создавать мобильные визитки существующих сайтов для iPhone. Здесь вместо сайта предлагается показывать мобильным пользователям карту и контактную информацию. Все это очень просто интегрируется с существующим сайтом (фрагмент кода на JavaScript)
Schmap - позволяет быстро и просто создавать мобильные визитки существующих сайтов для iPhone. Здесь вместо сайта предлагается показывать мобильным пользователям карту и контактную информацию. Все это очень просто интегрируется с существующим сайтом (фрагмент кода на JavaScript)
Monday, August 11, 2008
Sunday, August 10, 2008
online сервисы
Blogger.com испытал, возможно, один из худших своих периодов. В какой-то момент времени сломалась даже конференция в google groups, куда пользователи безостановочно помещали сообщения о не работающих блогах. Честно говоря, поддержка в Google мало отличается от какой-либо другой. Разве что пользователей не обзывали, а так - никакой информации не было: чинят что-то или нет, когда что-либо можно ожидать и т.п. Кстати, судя по сообщаниям в группе, совсем все еще не кончилось. Перерывы в сервисе были по 72 часа и больше. Вот так они выглядят online приложения. А если это торговая система и 72 часа без продаж ...
Friday, August 08, 2008
И ты Брут ...
Blogger.com поломался. Старые сообщения вдруг стали недоступны по прямым ссылкам. Поэтому пришлось продублировать Google Maps Mania - 10. Что-то не так в Google ...
Google Maps Mania - 10
Появились новые записи и пришло время выпустить очередное обновление для списка проектов (систем), выполненных на базе Google Maps. Символом * отмечены новые поступления со времени публикации предыдущей версии списка. Историю вопроса можно изучить здесь. Итак:
Информационные системы:
Авто-услуги
Агентство недвижимости Спб
Афиша
Все аптеки
Все банкоматы.ru
Где этот дом
Донецк
Зеленоград
Карта кофемана
Карта цен на квартиры в Москве
Карта рыбака
Картакадабра
Квартиры в Москве
Квартиры в Пензе
Квартиры в Питере
Кинотеатры в Москве
Маршруты в Москве
МАКС 2007
Местная погода
Мурманск
Население и рекреационные ресурсы Ставропольского края *
Недвижимость на карте
Новостройки в Сибири
Окрестности Екатеринбурга
Отели Египта
Омская область на карте
Пермь
Пермь на карте
пос. Правдинский
Пушкино
Погода на карте
Посуточная аренда квартир
Путешествия
Путешествия с Google Maps
Путешествия и карты
Путешествия на карте
4 туриста
Туристические карты
Туристические блоги
Роддома Москвы и Санкт-Петербурга
Рестораны на карте Петербурга *
Сеть распространения печатной продукции
Сноуборд
Храмы России
Православная архитектура - каталог
Cosmopolitan шоппинг
Фото-биеннале
Футбольные поля
Live Events
National Geographic Traveler
User generated content (geo tagging):
Geo links
Geo SMS
GPS треки
GPS Club
View and organize geographical data
WikiMapia
WiFi навигация
Инструменты:
Большая карта (Big map)
Geo traceroute
Google Msk TV
Metro map
Мобильные карты
Maps2lj - публикация карт в ЖЖ
Технические аспекты
Custom geo tagging
QR-коды для карт *
Социальные сети:
Вокруг меня
За баранкой
Мир Тесен
Отдыхали.ru
Соседи-онлайн
Гаджеты и карты:
Атлас Москвы
Вакансии программистов (работа.ru) *
Ветеринарные клиники в Москве
Видеокамеры ГАИ на карте Google Maps
Видеокамеры ГАИ
Веб-камеры в России
Веб-камеры в Москве
ЖЖ комьюнити о квартирах (ЖЖ сообщество Zhilploshchad)
Сдам, сниму квартиру,комнату (ЖЖ Msk_kvartira)
Сдам, сниму, куплю, продам квартиру,комнату (ЖЖ сообщество Kvartira_msk)
Ищу соседей (ЖЖ сообщество msk_neighbors)
ЖЖ сообщество ru_metro *
Цены на жилье
Маршруты Москвы (гаджет)
Москва, район Аэропорт
Мото-сайт: помощь в дороге
Новые рестораны
Поджоги машин в Москве
Посадочные модули на Луне
Посадочные модули на Марсе
Походы по Ладоге на ялах
Публичные туалеты в Москве
Точечная застройка в Москве
Штрафные автостоянки в Москве
Черный список бензоколонок
Львы Петербурга *
Совы и Девы в Спб
Кого-то пропустили? Что-то новое? Пишите, список будем обновлять.
Информационные системы:
Авто-услуги
Агентство недвижимости Спб
Афиша
Все аптеки
Все банкоматы.ru
Где этот дом
Донецк
Зеленоград
Карта кофемана
Карта цен на квартиры в Москве
Карта рыбака
Картакадабра
Квартиры в Москве
Квартиры в Пензе
Квартиры в Питере
Кинотеатры в Москве
Маршруты в Москве
МАКС 2007
Местная погода
Мурманск
Население и рекреационные ресурсы Ставропольского края *
Недвижимость на карте
Новостройки в Сибири
Окрестности Екатеринбурга
Отели Египта
Омская область на карте
Пермь
Пермь на карте
пос. Правдинский
Пушкино
Погода на карте
Посуточная аренда квартир
Путешествия
Путешествия с Google Maps
Путешествия и карты
Путешествия на карте
4 туриста
Туристические карты
Туристические блоги
Роддома Москвы и Санкт-Петербурга
Рестораны на карте Петербурга *
Сеть распространения печатной продукции
Сноуборд
Храмы России
Православная архитектура - каталог
Cosmopolitan шоппинг
Фото-биеннале
Футбольные поля
Live Events
National Geographic Traveler
User generated content (geo tagging):
Geo links
Geo SMS
GPS треки
GPS Club
View and organize geographical data
WikiMapia
WiFi навигация
Инструменты:
Большая карта (Big map)
Geo traceroute
Google Msk TV
Metro map
Мобильные карты
Maps2lj - публикация карт в ЖЖ
Технические аспекты
Custom geo tagging
QR-коды для карт *
Социальные сети:
Вокруг меня
За баранкой
Мир Тесен
Отдыхали.ru
Соседи-онлайн
Гаджеты и карты:
Атлас Москвы
Вакансии программистов (работа.ru) *
Ветеринарные клиники в Москве
Видеокамеры ГАИ на карте Google Maps
Видеокамеры ГАИ
Веб-камеры в России
Веб-камеры в Москве
ЖЖ комьюнити о квартирах (ЖЖ сообщество Zhilploshchad)
Сдам, сниму квартиру,комнату (ЖЖ Msk_kvartira)
Сдам, сниму, куплю, продам квартиру,комнату (ЖЖ сообщество Kvartira_msk)
Ищу соседей (ЖЖ сообщество msk_neighbors)
ЖЖ сообщество ru_metro *
Цены на жилье
Маршруты Москвы (гаджет)
Москва, район Аэропорт
Мото-сайт: помощь в дороге
Новые рестораны
Поджоги машин в Москве
Посадочные модули на Луне
Посадочные модули на Марсе
Походы по Ладоге на ялах
Публичные туалеты в Москве
Точечная застройка в Москве
Штрафные автостоянки в Москве
Черный список бензоколонок
Львы Петербурга *
Совы и Девы в Спб
Кого-то пропустили? Что-то новое? Пишите, список будем обновлять.
digg toolbar
Digg toolbar для FireFox теперь полность Open Source продукт. Опубликованный код есть хороший источник, между прочим, для изучения того, как программировать тулбары в FireFox.
Thursday, August 07, 2008
Стенгазета - 2 07.08.2008
linkstore.ru is up and running. Равно, как и все расположенные там сервисы. Действительно, все стало побыстрее.
В помощь Java программисту
Sun собрал Wiki с примерами исходных кодов для различных API в Java. Полезный ресурс получился
Стенгазета 07.08.08
Хостер проводит срочные работы, связанные с заменой аппаратуры. В ближайшие час-два linkstore.ru (и связанные приложения) будут недоступны.
Мобильные карты
Обновления в проекте Mobile maps maker. Выберите фрагмент карты и получите ссылку на него в виде статической картинки (в этом вся идея - итоговая ссылка есть обычный .gif файл). А такая статическая картинка может быть просмотрена на любом мобильном телефоне. Так можно карты для мобильных пользователей распространять, например. См. детали в мэшапе Мобильные карты.
Wednesday, August 06, 2008
OSCON
О'Рейли публикует все презентации докладов с последней конференции OSCON. Интересные и полезные материалы, описывающие современные Open Source проекты
Tuesday, August 05, 2008
Большая карта
Очередные обновления в мэшапе Большая карта. Теперь можно искать адреса непосредственно на полноэкранной карте.
Monday, August 04, 2008
smtp2web
Интересный сервис, который можно использовать в собственных приложениях - smtp2web. Он позволяет перевести принятый email в HTTP POST запрос. Можно зарегистрировать свой адрес в домене smtp2web.com и все принятые на этот адрес сообщения будут передаваться по указанный URL. Это может оказаться проще, чем реализовывать почтовый мониторинг в своем приложении. А если хочется, чтобы пользователи присылали почту на адрес в собственном домене, то можно завести такой адрес и поставить forward на адрес в smtp2web. И уже оттуда получать HTTP POST с письмом.
А сделан сервис - на Google Apps Engine.
А сделан сервис - на Google Apps Engine.
OpenRemote
Очень интересный Open Source проект - OpenRemote. Цель - открытая среда для управления устройствами в умных домах. За этим проектом стоят Mark Fleury (JBoss) и Mark Spencer (Astersik, Digium). В итоге проекта должен получиться сервер с открытым кодом (Java middleware внутри - JBoss конечно), который будет использоваться для управления домашними устройствами. Система должна получиться независимой от конкретных аппаратных решений и поддерживать различные протоколы (X10, KNX и т.д.)
Один из полезных подпроектов, например, база кодов управления для различных домашних устройств
Один из полезных подпроектов, например, база кодов управления для различных домашних устройств
Sunday, August 03, 2008
+1
Еще одна платформа для микро-блоггинга с открытым кодом: Jisko. Интересно, что есть и мобильная версия и открытый API, очень схожий с API Twitter. Другая платформа с открытым кодом - identi.ca
Saturday, August 02, 2008
Кэширование в Facebook
Подборка материалов по кэшированию данных в Facebook. Интересно разделение уровней кэширования. Для кэширования общей информации используется APC. При этом специфичные пользовательские данные так не кэшируются, поскольку запросы от одного пользователя могут обслуживаться разными серверами. Все user-specific кэшируется с помощью memcached.
Friday, August 01, 2008
Еще о мобильных сайтах
В развитие предыдущего постинга о средствах разработки. Есть один простой трюк, который позволяет создать мобильную версию блога (сайта) используя Google Reader. А именно - просто использовать RSS feed своего блога (сайта) как параметр для Google Reader.
Просто ссылка:
http://www.google.com/reader/m/view/feed/ваш_RSS
Например, вот мобильные версии для данного блога, ЖЖ abava и сайта gazeta.ru:
Abava blog
ЖЖ abava
Gazeta.ru
Мобильный портал http://m.linkstore.ru использует эту технику.
P.S. а ссылки произвольной длины легко скопировать на свой телефон с помощью сервисов Мобильные страницы, QR code maker и Click to Mobile
Просто ссылка:
http://www.google.com/reader/m/view/feed/ваш_RSS
Например, вот мобильные версии для данного блога, ЖЖ abava и сайта gazeta.ru:
Abava blog
ЖЖ abava
Gazeta.ru
Мобильный портал http://m.linkstore.ru использует эту технику.
P.S. а ссылки произвольной длины легко скопировать на свой телефон с помощью сервисов Мобильные страницы, QR code maker и Click to Mobile
Subscribe to:
Posts (Atom)