Google Buzz як центр Вашої активності в Інтернеті

Пройшло вже майже 4 місяці, як Google запустив свій новий сервіс Buzz. В нього одразу знайшлися як критики так і прихильники, але все ж таки він зайняв свою нішу.

Якщо розібратися, то Buzz це не «наша відповідь Twitter’у», це скоріше «наша відповідь FriendFeed’у», тобто можливість зібрати активність з усіх своїх сервісів в одному місці. Саме для цього я й використовую Buzz, зібравши там свій контент з Google Reader’а, Twitter’а, цього блоґу та галереї.

Ось як це працює.

1. Додайте всі сервіси, які ви хочете транслювати в Buzz, в свій Google Profile і поставте на них позначку «This is a profile page about me»:

2. Підтвердіть, що це дійсно ваші сторінки. Для цього потрібно поставити гіперпосилання з них на свій Google Profile з rel=me, наприклад:
<link rel="me" type="text/html" href="http://www.google.com/profiles/mrgallua" />
або
<a href="http://www.google.com/profiles/mrgallua" rel="me">Google Profile</a>

Це можна зробити через каскад сторінок, наприклад:
last.fm/user/MrGALL (rel=me) mrgall.com (rel=me) google.com/profiles/mrgallua

3. Дочекайтесь, поки Google проіндексує ці сторінки та знайде зв’язки між ними. Якщо не маєте сил чекати — скористайтесь сервісом SGAPI recrawl tool, ось як він виглядає в мене:

На жаль не всі сайти підтримують rel=me (з Фейсбуком все зрозуміло, але для Хабрахабру це значний недолік).

4. В Gmail зайдіть в Connected Sites і включіть трансляцію для потрібних вам сервісів. Якщо для Google Profile та Buzz ви використовуєте Google Account (тобто не @gmail.com адресу) то включити трансляцію можна на сторінці Google Dashboard а читати та писати коментарі — на сторінці Google Profile.

От і все, далі Buzz буде робити все автоматично (хоча і з невеликою затримкою 😉

Протокол WebFinger

Я полюбляю розбиратися з новими можливостями, що надає веб. На цей раз мене зацікавив протокол Webfinger, який розширює можливості електронної пошти та робить її аналогом OpenID.

Детальніше про нього можна почитати тут: Introducing WebFinger та тут: Implementing WebFinger.

В цьому дописі я хочу розказати, як працює цей протокол на прикладі інтеграції Webfinger з блоґом. На жаль поки Webfinger підтримується лише в Gmail Accounts та Google Accounts (бо його розробники — працівники Google), але це не забороняє використовувати Webfinger з будь-яким доменом та адресою.

Отже ми маємо користувача з адресою sample-user@gmail.com.
Перевіряємо, чи є на цьому домені файл gmail.com/.well-known/host-meta
Якщо є — шукаємо рядок <Link rel=”lrdd” template=”http://www.google.com/s2/webfinger/?q={uri}”> з адресою, за якою можна дізнатися додактову інформацію про цю поштову скриньку.

Якщо у вас є пошта на власному домені (наприклад як у мене mrgall [пес] mrgall.com), то підтримку Webfinger можна додати доволі просто: створюємо xml файл example.com/.well-known/host-meta з таким вмістом:

<XRD xmlns="http://docs.oasis-open.org/ns/xri/xrd-1.0" xmlns:hm="http://host-meta.net/xrd/1.0">
<hm:Host xmlns="http://host-meta.net/xrd/1.0">gmail.com</hm:Host>
<Link rel="lrdd" template="http://www.google.com/s2/webfinger/?q=mrgallua@gmail.com">
<Title>
Resource Descriptor
</Title>
</Link>
</XRD>

mrgallua@gmail.com це не поштова скринька, це мій Google Account mrgallua, зареєстрований на адресу mrgall [пес] mrgall.com (чому тут потрібно дописувати домен gmail.com — питання до розробників протоколу 🙂
Єдиний недолік цього методу — всі адреси @mrgall.com будуть мати одну і ту саму WebFinger адресу (але в мене є лише один поштовий екаунт на цьому домені 🙂

Якщо в адресі є параметр {uri} то його треба замінити поштовою адресою — має вийти щось типу:
http://www.google.com/s2/webfinger/?q=sample-user@gmail.com

За цією адресою отримуємо ось такий xml-файл:

<XRD xmlns="http://docs.oasis-open.org/ns/xri/xrd-1.0">
<Subject>
acct:mrgallua@gmail.com
</Subject>
<Alias>http://www.google.com/profiles/mrgallua</Alias>
<Link rel="http://portablecontacts.net/spec/1.0" href="http://www-opensocial.googleusercontent.com/api/people/"/>
<Link rel="http://portablecontacts.net/spec/1.0#me" href="http://www-opensocial.googleusercontent.com/api/people/101951818361875030944/"/>
<Link rel="http://webfinger.net/rel/profile-page" href="http://www.google.com/profiles/mrgallua" type="text/html"/>
<Link rel="http://microformats.org/profile/hcard" href="http://www.google.com/profiles/mrgallua" type="text/html"/>
<Link rel="http://gmpg.org/xfn/11" href="http://www.google.com/profiles/mrgallua" type="text/html"/>
<Link rel="http://specs.openid.net/auth/2.0/provider" href="http://www.google.com/profiles/mrgallua"/>
<Link rel="describedby" href="http://www.google.com/profiles/mrgallua" type="text/html"/>
<Link rel="describedby" href="http://s2.googleusercontent.com/webfinger/?q=mrgallua%40gmail.com&fmt=foaf" type="application/rdf+xml"/>
<Link rel="http://schemas.google.com/g/2010#updates-from" href="https://www.googleapis.com/buzz/v1/activities/101951818361875030944/@public" type="application/atom+xml"/>
</XRD>

Нас цікавить виділена адреса, за якою отримуємо json файл з базовою інформацією: ім’я, прізвище, адреса профілю та аватари (thumbnailUrl).

Я доволі просто інтегрував отримання аватарів за допомогою WebFinger в цей блоґ. Якщо користувач не має Google Profile або аватари на ньому — використовується старий спосіб — Gravatar.

Погратися з WebFinger можна тут: webfinger.org та тут: WebFinger client

На закуску: сторінка з аватарами (отриманих з Google Profile або Gravatar) усіх користувачів, які колись залишали коментар в моєму блозі в порядку спадання кількості коментарів: http://mrgall.com/site/wfa/test.php (>200 картинок).

Foursquare

Ось вже більше тижня граюсь новою іграшкою — сервісом Foursquare.
Суть його полягає в тому, що ви з мобільного відмічаєтесь, де знаходитесь саме зараз і це можуть бачити інші люди.
Але найцікавіше (для мене) в цьому сервісі те, що за його допомогою можна вивчати своє місто, дізнаватися про нові місця і т.п.

Для його роботи потрібен телефон з iPhoneOS, Android чи BlackBerry. На нього ставиться спеціальна програма, за допомогою якої і відбувається робота із сервісом.

Деякі дії, наприклад додавання та редагування місць, можна роботи на сайті. Раджу перед тим, як йти в якесь місце, перевірити, чи є воно в базі Foursquare, і якщо немає — додати його. Також з комп’ютера можна виправити інформацію про місця, додані з телефону (типографіка, адреса, телефон і т.п.)

Єдине, що мені не вистачає на їх сайті — великої карти з відміченими місцями з їх бази. Але існує сервіс FourWhere (скупчення точок та заході Києва — частково моя робота):

Якщо є технічна можливість та бажання — долучайтесь, в Києві ще багато «білих плям» 😉

Як читати всю стрічку LiveJournal в Google Reader

Пояснювати, що таке LiveJournal та Google Reader я не буду — якщо ви ними не користуєтесь — цей допис не для вас 😉

Здавалося, що ж складного читати LiveJournal в Google Reader, адже кожен ЖЖ має RSS та Atom стрічки?

Але в ці стрічки не потрапляють повідомлення користувачів, що доступні лише для друзів. Це очевидно і цілком логічно, адже ці стрічки — публічні. Але ми хочемо читати всі дописи в Google Reader, що ж робити?

LiveJournal може віддавати всі дописи в RSS та Atom стрічки, якщо ввести свій логін і пароль, але таку авторизацію не підтримує Google Reader. Тому я написав такий собі скрипт-«проксі», який авторизується в LiveJournal та віддає повні стрічки в Google Reader.
Для його роботи потрібно мати власний хостинг, мінімальні навички редагування файлів та роботи з ftp сервером.

Його вихідний код лежить ось тут: livejournal-to-google-reader.phps (ґуру в програмуванні — не лайте за код, писав «на колінці» за 20хв )

Зберігаємо увесь текст скрипта в *.php файл, редагуємо налаштування (хоча б обов’язкову частину):

і заливаємо цей файл собі на сервер.

Потім заходимо браузером на адресу http://your-site.com/folder/to/script-name.php і отримуємо *.opml файл, який потрібно імпортувати в Google Reader (Reader settings -> Import/Export -> Import your subscriptions).

От і все.

P.S.
Щодо безпеки — ваш пароль від LiveJournal зберігається в цьому файлі, тому не варто показувати його комусь ще.
Також раджу покласти файл на хостинг так, що його випадково не знайшли інші користувачі, інакше вони теж зможуть читати дописи ваших друзів (якщо не активований «Параноїдальний режим», що описаний нижче 😉

Додано 08.05.2010
Добре обміркувавши коментар, що залишив пан podarok про безпеку, я вирішив додати в скрипт 2 режими — «Параноїдальний режим» та «Супер Параноїдальний режим». Перший видаляє текст прихованого допису, другий — текст та заголовок. За замовчуванням активований «Параноїдальний режим».

Таким чином ви дізнаєтесь, що ваш друг написав новий допис зі статусом «лише для друзів» і можете перейти на сайт livejournal.com, щоб його прочитати, а інші люди, навіть якщо дізнаються адресу скрипту (наприклад через механізм розшарювання дописів в Google Reader), побачать лише посилання та час.

Всім, хто турбується про приватність ваших ЖЖ друзів — раджу оновити скрипт: livejournal-to-google-reader.phps 😉

Мої фото прибамбаси

Мені звісно далеко до Сергія Долі з його фототехнікою, але я все таки вирішив викласти фото своєї техніки з описом. Ні, не для того, щоб похвастатись, а просто щоб в майбутньому мати змогу порівняти, що в мене було в травні 2010 а що — з’явилося пізніше.

Першим моїм фотоапаратом був апарат від всесвітньо-відомої китайської фірми No Name. Він і досі десь валяється в шафі, але вже десь років 10 я ним не користувався. Наводити його фото немає сенсу, думаю майже всі мали подібний апарат в 90х роках.

Наступний фотоапарат — Canon A520 — я купив в 2006 році, саме завдяки йому в мене на сайті з’явилася галерея та я трохи навчився фотографувати. Використовував я його 2.5 роки а потім загубив…

І нарешті в 2008 році з’явився той апарат, яким я фотографую і зараз — Nikon D40. Не варто звинувачувати мене у переході до «ворожого табору» Nikon’істів, фотоапарат вибирався виключно за фінансовими можливостями та можливістю швидко купити. З іншого боку, я не жалкую, що його купив — він виявився доволі зручним та легким у користуванні.

Потім вже потроху почали з’являтися фото-аксесуари, про які я і хочу тут написати.

1. Фотоапарат Nikon D40
2. Об’єктив AF-S DX Zoom-NIKKOR 18-55mm f/3.5-5.6G ED II (був в комплекті з камерою)
3. Об’єктив AF-S DX VR Zoom-NIKKOR 55-200mm f/4-5.6G IF-ED (купив, бо полюбляю знімати різну живність зблизька)
4. Штатив SLIK SDV-30 (подарунок ще до Canon’а)
5. Штатив Gorillapod SLR-Zoom (не важкий, але дуже корисний)
6. Спалах Nikon SB-600 (поки використовував не часто)
7. Пульт Nikon ML-L3 (зручно знімати себе разом з іншими або знімати так, що б не рухати апарат)
8. Батарея Nikon EN-EL9 (про запас)
9. Олівець Nikon 7072 Lens Pen (для догляду за об’єктивами)
10. Набір Digital Survival KIT – Sensor Swab Type 2 (w/Eclipse) (для догляду за камерою)
11. Зарядний пристрій Nikon MH-23 (був в комплекті з камерою)
12. Підставка для спалаху Nikon AS 19 (ще не використовував жодного разу)
13. Бленда Nikon HB-37 для об’єктива 55-200 (захист від сонця)
14. Набір фільтрів 52mm 3-piece Filter Set (UV, Fluorescent, Polarizer) (використовую в основному лише поляризатор)
15. Перехідник з microSD на SD + флешка microSD на 1Гб + в телефоні ще є одна microSD на 8Гб (якщо раптом закінчиться місце)

Також в самому фотоапараті ще є батарея (йшла в комплекті) та флешка на 8Гб (подарунок ще до Canon’а, але там вона не захотіла працювати).

Все це (крім штативів, звісно) чудово влазить в фотосумку Lowepro Micro Trekker 100 (теж подарунок 🙂

Плани на майбутнє
Потреби кидати все і бігти за новим фотоапаратом в мене немає, але я все таки потроху вибираю заміну для «тушки» — це буде або Nikon D90 або Nikon D300S Nikon D7000.
Міняти шило на мило (Nikon D3000 або Nikon D5000) не бачу сенсу, залазити в професійну апаратуру (Nikon D700 і далі) теж.
З об’єктивів перший на заміну 18-55 (подобається Nikon 16-85mm), а заміна 55-200 — в дуже далекій перспективі.