Friday, April 30, 2010

iStone

Не могли пройти мимо:



страница автора шедевра - здесь.

P.S. мэшапу Мобильная карта посвящается :-)

О сериализации объектов

Интересная альтернатива Google Protocol Buffers:

Message Pack

Декларируют довольно ощутимое превосходство по производительности. Такие продукты сейчас очень нужны - массовую пересылку JSON в современных NoSQL системах нужно как-то поддерживать.

Thursday, April 29, 2010

Что в твиттере моем

Интересные исследования в PARC по анализу твитов.

P.S. в упрощенной форме это делает, между прочим, мэшап Twitter buzz

Top 10 mobile technologies

Gartner - The 10 mobile technologies to watch in 2010 and 2011:

Bluetooth (3 and 4)
The Mobile Web
Mobile Widgets
Platform-Independent Mobile AD Tools
App Stores
Enhanced Location Awareness
Cellular Broadband
Touchscreens
M2M
Device-Independent Security

Wednesday, April 28, 2010

Location Business Summit




Отсюда

Век живи - 2

Из той же серии, что и предыдущее. Засады в разработке.

Есть мэшап Metromap. Внутри, разбирая RSS фид, создает JavaScript строки. Типа:

var s = "строка, взятая из RSS";

Естественно, если создается такая строка, то необходимо из текста убрать переводы строк (\n \r). Нет проблем, хотя бы и функция replaceAll() из java.lang.String делает всю работу.
Но, после нескольких лет работы на одном из фидов (конкретно - вот здесь) и обнаружилась засада. Внутри исходных данных (текста) стали добавлять так называемый Unicode line break. HTML его игнорирует, если фид просматривать, то никаких лишних переводов нет. Но в тексте то он есть! И в указанном выше JavaScript фрагменте будет восприниматься именно как символ новой строки. Текст просто не будет компилироваться в итоге.

Для тех, кто еще не сталкивался с таким. Коды для этого Unicode linebreak: E2 80 A8

Сенсоры в Android

Android: отслеживание сенсоров в фоновом режиме. Проблема в том, что мониторинг сенсоров отключается вместе с выключением экрана.

Tuesday, April 27, 2010

Черный ящик

Интересная идея для мобильного сервиса - видеорегистратор для автомобиля. Бесплатное приложение на Android. Отсюда

Мобильный портал

QR code
Обновлен мобильный портал
http://m.linkstore.ru
(это - мобильный сайт). В частности, обновлены раздел Сервисы, IT.

Скопировать ссылку на свой телефон можно с помощью приведенного QR-кода. Можно также набрать короткий URL http://bit.ly/dc14q (экономия - 2 символа :)

P.S. кстати, сделать свой портал можно с помощью сервиса Мобильные страницы.

Monday, April 26, 2010

Geo Mail

Гео-подпись в почте. Веб-приложение для iPhone (Android), которое позволяет поставить ссылку на текущее местоположение: http://www.servletsuite.com/geomail
(это - мобильный сайт). Еще один простой способ сообщить о местоположении непосредственно с мобильного телефона, не записываясь при этом в социальные сервисы. Прямая отправка координат (карты) заинтересованому лицу.


QR code

Скопировать ссылку на свой телефон можно с помощью приведенного QR-кода. Можно также набрать короткий URL http://bit.ly/dr5H1m

P.S. Другой возможный способ сказать "где я" в почте см., например, здесь.

Магазин на диване

Интересный пример того, как должен выглядеть констуктор для e-commerce сайта. Действительно, очень просто.

Sunday, April 25, 2010

Мобильная карта

QR code
Обновлен мэшап Мобильная карта - полноэкранная карта для мобильных устройств.

Скопировать ссылку на свой телефон можно с помощью приведенного QR-кода. Можно также набрать короткий URL http://bit.ly/7zu3iY.

Работает на iPhone, Android. Платформа S60 от Нокия, вообще говоря, тоже должна поддерживать это. Попробуйте.

Эта карта - простой способ поделиться своим местоположением. Отправить сообщение со своими координатами можно непосредственно из веб-приложения. Тем, кто использует gmail, доступна также отправка сообщений в Google Buzz. Получатель сообщения увидит карту с двумя маркерами - то, что было сохранено на карте и его/ее собственное местоположение. При этом не требуется никакой регистрации или членства в какой-либо социальной сети.

Для своего мобильного сайта можно помещать сcылки на карту (http://mbigmap.linkstore.ru), указав дополнительно следующие параметры для URL:

lat - широта места
lng - долгота
t - текст для маркера

P.S. одно из возможных применений - запомнить место, где припаркована машина.

P.S - 2. кстати, сделать статическую карту для мобильных устройств можно с помощью мэшапа Мобильные карты.

P.P.S. "десктопный" вариант мэшапа есть здесь - Большая карта

Saturday, April 24, 2010

Friday, April 23, 2010

Не то создал

Ken Thompson, один из создателей языка C не прошел обязательный тест по языку в Google.

P.S. старый диалог в преферансе:
- почему же не сыграл мой козырной туз?
- расклад, батенька, расклад ...

Мобильные фото 3



Обновлена мобильная версия мэшапа Фото из Twitter:

http://localphoto.linkstore.ru (это мобильный сайт).

Можно просматривать фото, сделанные в данной местности, искать фотографии по ключевым словам. Работает на Android, iPhone и S60 телефонах.

В очередном обновлении доступны следующие новые возможности:

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

http://bit.ly/a2SseE

2) можно сразу задать значение для поисковой строки. Имя параметра: q. Например, (то, что вы давно хотели посмотреть на телефоне, но боялись спросить :-) тег sexymonday в картинках:

http://localphoto.linkstore.ru?q=sexymonday

QR code

Скопировать ссылку на свой телефон можно с помощью приведенного QR-кода. Можно также набрать короткий URL http://bit.ly/cX2cCd

Thursday, April 22, 2010

РИФ в картинках

Фото-РИФ

и то же самое, но на мобильном телефоне (Android, iPhone, Nokia S60):

http://bit.ly/aWYSMZ

Co-browsing

Веб-компонента для параллельного браузинга - Cobrowse servlet.

Одна сторона открывает некоторую сессию, после чего все, кто присоединился к этой сессии будут видеть те же самые веб-страницы, которые открываются в основной сессии. Переходы по сайту, открытому в основной сессии будут автоматически отражаться у клиентов. Достоинство в том, что это чисто серверное решение. На клиентской стороне не нужно ничего загружать/инсталлировать.

Очевидно, что такой подход не будет работать, если навигация осуществляется "клиентскими" cредствами (Flash, JavaScript), но такая задача в этой компоненте и не ставилась.

Wednesday, April 21, 2010

Социальные сети в жизни

Страница в Facebook для застрявших в Европе. Коллективный разум против вулкана Эйяфьятлайокудль.

РИФ


Rich CallID

Интересные суждения о том, как должен выглядеть VOIP сервис на телефоне. Главное - получать больше информации из Call ID. Профиль того, кто звонит. Skype так не делает и, следовательно, есть место для конкурентов.

Tuesday, April 20, 2010

Распределение памяти в Java

Полезный технический материал - распределение памяти в Java. Важно для понимания того, сколько реально памяти будут занимать объекты.

P.S. для веб-приложений есть полезная компонента, вычисляющая объем памяти, который выделен под сессию: Session size

IT в России

"Откаты по госконтрактам в IT-отрасли достигли уровня, когда невозможно вести бизнес." отсюда. Там дискутируется цифра в 70%

Monday, April 19, 2010

Take care

Будьте осторожны - новая атака на почтовые аккаунты в Google. В рассылаемых письмах есть ссылки на страницы в домене .cc, где пользовательский браузер уже ждут свежие эксплойты.

О мэшапах

В связи с обсуждением нашумевшего заявления Twitter на конференции разработчиков о том, что необходимо перестать затыкать дырки в Twitter - компания рано или поздно сделает это сама, очень верное замечание о мэшапах вообще. Если ваше приложение просто раширяет возможности какой-либо платформы - остановитесь. Рано или поздно производитель все равно будет конкурировать с вами, и все карты будут у него. Чужая платформа должна расширять ваше приложение.

Кстати, на практике это означает, что время просто расширений Twitter - прошло. Как оно прошло еще раньше для Google Maps. Место есть только для вертикальных приложений.

Saturday, April 17, 2010

Веб без сайтов

Интересная идея: website-less websites. Есть только API. И клиенты отображают данные, используя предоставленные API.

Смерть серверного программирования, между прочим. Все должно будет делаться на клиентской стороне.

Friday, April 16, 2010

NEO4J REST

Сетевая база данных Neo4j добавила свой собственный сервер. REST запросы, возвращающие JSON - см. здесь. Весьма удобная модель для представления связей в социальных сетях, а с REST сервером ставшая еще и очень удобной в использовании.

Мобильный портал

QR code
Обновлен мобильный портал
http://m.linkstore.ru
(это - мобильный сайт). В частности, обновлены раздел Сервисы, Новости.

Скопировать ссылку на свой телефон можно с помощью приведенного QR-кода. Можно также набрать короткий URL http://bit.ly/dc14q (экономия - 2 символа :)

P.S. кстати, сделать свой портал можно с помощью сервиса Мобильные страницы. А собрать интересные видео-сюжеты - с помощью сервиса Мобильное видео

Thursday, April 15, 2010

Нельзя

Европейский Союз предупредил операторов о недопустимости брать отдельную плату за доступ к контенту - см. здесь. А равно как и блокировать Skype. Надежды операторов собирать деньги за YouTube - тают. А тут еще и говорить начнут все по Скайпу.
Так что операторов, по сути, принудительно заталкивают в сервисы. А если не сервис-провайдер, то просто получается труба для чужого трафика.

Век живи

И век учись. Жизнь программиста. Одна их последних засад - функция toUpperCase() в Java может изменять длину строки. Именно так - для немецкого языка длина строки на верхнем регистре может быть больше, чем оригинал. Большое S переводится в две буквы S: STRASSE, например. Кто бы мог подумать. Вроде как базовые принципы нарушаются ...
А напоролись на это с сервлетом Cobrowse. Там парсер из-за этого ломался на немецких сайтах.
А чтобы было еще веселей, пользователь столкнулся с этой ошибкой на сайте amazon.de. А на этом сайте контент формируется динамически. И "специальные" символы то попадаются в выдаче, то нет. Соответственно, два дня понять не могли в чем дело - то работает, то нет :-)

Wednesday, April 14, 2010

Мобильные фото 2



Наш мэшап Фото из Twitter обзавелся мобильной версией:

http://localphoto.linkstore.ru (это мобильный сайт).

Можно просматривать фото, сделанные в данной местности, искать фотографии по ключевым словам. Работает на Android, iPhone и S60 телефонах.

В очередном обновлении доступны следующие новые возможности:

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

http://bit.ly/a2SseE

2) можно сразу задать значение для поисковой строки. Имя параметра: q. Например, (то, что вы давно хотели посмотреть на телефоне, но боялись спросить :-) тег sexymonday в картинках:

http://localphoto.linkstore.ru?q=sexymonday

QR code

Скопировать ссылку на свой телефон можно с помощью приведенного QR-кода. Можно также набрать короткий URL http://bit.ly/cX2cCd

Tuesday, April 13, 2010

Twitter для бизнеса

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

Скидки в Twitter

Газета со скидками

так что вопрос уже к продавцам - а есть ли что интересное для публикации? Инструмент есть, пользователи есть. Будет ли что кроме спама? :-)

Кстати, совсем несложно будет сделать и мобильное веб-приложение для просмотра таких публикаций (похожий пример, кстати - Мобильные фото)

Маркетинг в Twitter

Статистическое исследование - как распространяется информация в Twitter. 19% сообщений содержат упоминание какого либа бренда. Из них 20% - выражают отношение автора к бренду. Это отношение в 50% случаев бывает положительным, в 33% случаев - отрицательным. Статистика знает все :-)

Monday, April 12, 2010

QR код для страниц

Еще один инструмент для мобилизации веб-сайтов. QR code filter позволяет автоматически строить QR коды для страниц веб-сайта (веб-приложения). Просто добавьте суффикс .qr к любому существующему URL и получите QR код для него.
При создании QR кода можно также добавить транскодер, так что постороение мобильных версий существующих страниц будет полностью автоматизировано.

P.S. ну а другой способ мобилизации (и не только ссылок) - это мэшап QR code maker

Как это делают в Twitter

Собеседники в Twitter - мэшап Диалоги в Twitter на сайте rutwitter.com

Sunday, April 11, 2010

Startup Weekend Moscow


Saturday, April 10, 2010

Java Cards и CellID

Информация о новых проектах, связанных с программированием Java Cards опубликована на сайте inetique.ru. В частности, проект Geo messages - приложение с использованием Smart Cards Web Server, позволяющее использовать CellID данные для обмена информацией о местоположении.

Friday, April 09, 2010

Утечки памяти в Tomcat

Интересный практический материал по борьбе с утечками памяти в Tomcat. На этот раз - память, которую не освобождает загрузчик классов. Кстати, практический вывод - аккуратней с использованием синглетонов в собственных приложениях. Лучше, чтобы все загружалось базовым classloader.

Код, иллюстрирующий борьбу с загрузчиками также очень интересен:

try {
// Doesn't matter that this JAR doesn't exist - just as long as
// the URL is well-formed
URL url = new URL("jar:file://dummy.jar!/");
URLConnection uConn = url.openConnection();
uConn.setDefaultUseCaches(false);
} catch (Exception e) {

...
}

это - трюк, который предотвращает кэширование .jar файлов.

Как я понимаю, в Tomcat 7 по части работы с памятью будет много изменений. Но вообще, память, которую не освобождает загрузчик класса - это фундаментальная проблема. Каждый JSP файл - это ведь отдельный класс. Так что даже большой нагрузки не нужно будет - достаточно просто много JSP файлов. Каждый запросят по одному разу и все ...

Еще по теме см. здесь

Уже не первый ...

По апрельским отчетам TIOBE, Java уже не является первым по популярности языком программирования. C снова на вершине. Хотя нужно еще отметить, что многие из "быстро растущих" - это языки на основе JVM.

Thursday, April 08, 2010

Что такое smartphone

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

Мобильный портал

QR code
Обновлен мобильный портал
http://m.linkstore.ru
(это - мобильный сайт). В частности, обновлены раздел Сервисы, Спорт, IT.

Скопировать ссылку на свой телефон можно с помощью приведенного QR-кода. Можно также набрать короткий URL http://bit.ly/dc14q (экономия - 2 символа :)

P.S. кстати, сделать свой портал можно с помощью сервиса Мобильные страницы.

Wednesday, April 07, 2010

С письменного разрешения

"The only legal way to access any web site with a crawler was to obtain prior written permission." Отсюда. Это аргументы, с которыми Facebook пошел судом на разработчика прикладной поисковой системы. Так что все серьезно.

P.S.

Яндекс в опасности? ;-)

О нас пишут

Мобильный мэшап Местные фото в коллекции WAP Review.

Tuesday, April 06, 2010

iPad в России

Что и как: http://tdialog.linkstore.ru?11687370682 - продажи iPad в России

P.S. найдено с помощью мэшапа Диалоги в Twitter

Транзакционный эффект

Или точнее - эффект от отсутствия транзакций. Сравнение операций добавления данных в MongoDB и SQL server. Троекратная разница в пользу MongoDB.

Панель в Foursquare

Foursquare предложила интересный инструмент мониторинга для бизнеса - анализ того, как и когда пользователи сети "отмечались" в конкретных местах. По сути - a-la веб-аналитика. Google Analytics, но для конкретных (физических) мест.

P.S. А пользователи Foursquare ведь и в Москве отмечаются.

Monday, April 05, 2010

Google Maps Mania - 30

Появились новые записи, и пришло время выпустить очередное обновление для списка проектов (систем), выполненных на базе Google Maps. Юбилей, однако - 30-й выпуск.

Как обычно, символом * отмечены новые поступления со времени публикации предыдущей версии списка. Историю вопроса можно изучить здесь.

Ну а последняя версия доступна на странице Google Maps Mania.RU

Sunday, April 04, 2010

Любопытный читатель

Структура Twitter исторически не очень приспособлена для показа/отслеживания длинных обсуждений. Тем не менее, диалоги, естественно, встречаются. Вот непосредственно в веб-интерфейсе Twitter внизу некоторых сообщений в произвольной ленте можно прочесть слова in reply to за которыми следует имя какого-то пользователя пользователя Twitter. Это и означает, что данное сообщение опубликовано как реплика в ответ на другое сообщение. И передвигаясь по ссылкам, которые стоят в in reply to, можно прочесть все тексты в обсуждении.

А вот простой мэшап, который позволяет восстановить произвольное обсуждение на одной странице. То есть все сообщения будут представлены на одной странице в том порядке, в каком они попали в Twitter: Диалоги в Twitter

Это, естественно, упрощает чтение диалогов. Опять же, можно сослаться на конкретный диалог – будет одна ссылка на все сообщения. Поделиться диалогом и т.д.

Мэшапу для вывода конкретного диалога нужно указать URL страницы в Twitter со статусом (сообщением), где после сообщения указано in reply to. То есть, иными словами, указать какое-то сообщение из диалога. Начиная от него, и будет показана вся цепочка. Открыть сообщение со статусом in reply to в веб-интерфейсе Twitter и скопировать его URL в поле ввода мэшапа. Также вместо полного URL можно просто указать ID сообщения.

Для упрощения работы можно воспользоваться букмарклетом из http://book.linkstore.ru
Он так и называется – Диалоги в Twitter. С установленным букмарклетом можно просто открыть в Twitter произвольную страницу со статусом in reply to, а затем выбрать из закладок этот букмарклет.

Как этот мэшап работает на практике можно посмотреть, например, в социальном поиске для Twitter. Там для указанного аккаунта выводится, в том числе, секция Последние диалоги (если таковые были, конечно). Кликните на иконке с облачками рядом с именем собеседника в этой секции – диалог будет восстановлен.

Весенняя зачистка


Апрельский субботник, практически. Мы уже писали о продукте Registry Cleaner. Реально работающий механизм зачитки windows registry, который мы с успехом и используем. В первую очередь, помог решить проблемы с загрузкой системы. Собственно это пост есть лишь способ отразить факт выхода новой версии - Digeus Registry Cleaner 5.4.

Friday, April 02, 2010

HTML5 - что уже доступно

Простой JavaScript checker - показывает, какие из возможностей HTML5 уже доступны в вашем браузере. Проверьте.

Фотошоп для графов

Gephi - Open Source пакет для визуализации сетей и графов. Windows, Linux и Mac OS X.

Thursday, April 01, 2010

Редиска 2

Мы писали о NoSQL системе Redis. Memcached-подобная система, с сохранением данных на диске и с развитой системой типов.
А вот интересный пакет по интеграции с PHP, который так и называется - Редиска. Разработчики - из России, как можно догадаться по названию. Найдено - здесь.

P.S. Windows реализация Redis (удобно для разработки) есть здесь.

Инструменты для создания социальных сетей

Open Source инструменты для создания социальных сетей - хорошо подобранная коллекция