14 июля 2013 г.

Просмотровщик полного бэкапа Google Reader

Оригинал статьи: Google Reader Backup Viewer

Тем, кто сделал полный бэкап Google Reader, пока это ещё было возможно, понадобится доступ к этим данным. К счастью, Михай Парпарита (Mihai Parparita) создал Zombie Reader, инструмент, который воскрешает интерфейс Google Reader и преобразует его в просмотровщик сохранённых данных.

«Reader — правильное одностраничное приложение: как только произошла первоначальная загрузка HTML, JavaScript, CSS и т. д., все остальные данные загружаются с помощью относительно простых HTTP-вызовов, возвращающих JSON (что сделало относительно простой поддержку офлайн-режима ещё в 2007 году). Таким образом, если данные сохранены в том же формате JSON, то можно получить к ним доступ с помощью JavaScript и CSS самого Reader», объясняет Михай.

Итак, идём на readerisdead.com, загружаем обновлённый архив и следуем инструкциям. Как и в прошлый раз, понадобятся Python 2.7 некоторые навыки работы с командной строкой. Под Windows можно выполнить инструкции из прошлого сообщения, заменив строку
c:\python27\python reader_archive\reader_archive.py --output=download
строкой
c:\python27\python zombie_reader\zombie_reader.py download

Zombie Reader использует интерфейс Google Reader и локально сохранённые пользовательские данные. Получается копия Google Reader, в которой сохранены все подписки, прочитанные и отмеченные прочитанными сообщения, отмеченные (starred) сообщения, метки и многое другое. Очевидно, многие функции не будут работать (поиск, статистика, подписка), приложение не будет помнить о локальных изменениях и не будет показывать свежие обновления потоков.

Зато оно показывает самое первое прочитанное сообщение, первом отмеченное сообщение, первое сообщение, которым пользователь поделился, контакты, которых читал пользователь до того, как социальные функции Reader были ликвидированы. Сортировка «сначала более ранние» теперь не ограничена 30 днями, а способна выдать так все сообщения из любого потока (или всех потоков).

«Побочный эффект: теперь у меня есть самодостаточный дистрибутив Reader, к которому можно будет обратиться годы спустя, когда мой сын спросит меня, чем я занимался в 25 лет, — делится Михай. — Ещё можно поностальгировать — найти первое прочитанное сообщение. Теоретически можно использовать данную сборку для того, чтобы создать прокси-сервер для развёртывания интерфейса Reader API, на мощностях, скажем, NewsBlur, и таким образом продолжать пользоваться интерфейсом Reader для чтения настоящих потоков. Но кроме множества технических проблем (несоответствия импеданса, например: NewsBlur не воспринимает состояние прочитанности или отмеченности как метку) это и вообще слишком ностальгически». Впрочем, кто-нибудь наверняка создаст такой прокси.

Ссылки по теме
Lifehacker: Zombie Reader Browses Your Archived Google Reader Data

Перевод многоязычных страниц в Chrome

Оригинал статьи: Translate Multilingual Web Pages in Chrome

Сервис Перевод[чик] (Google Translate) обычно определяет преобладающий язык того или иного текста. Скажем, английский текст с несколькими фразами на немецком и французском будет определён как английский текст.

Если в десктопной версии браузера Chrome, в котором не отключена функция перевода, а языком интерфейса задан английский, открыть страницу на английском с фрагментами на других языках, Chrome не станет переводить страницу автоматически и не покажет панель перевода. Но можно щёлкнуть правой кнопкой мыши по странице и из контекстного меню выбрать «Translate to English».

Вот пример страницы с YouTube — до перевода:

и после:

Панель перевода заявляет, что страница была переведена с английского на английский. Удивительно, но Google английский текст как раз не трогал, переведя лишь с нидерландского и португальского (а с финского, кстати, нет — не справился — ЖсG).

Если ввести многоязычный текст на сайте Перевод[чик]а, Google переведёт только текст на преобладающем языке, оставив остальные фрагменты без перевода; то же происходит при переводе веб-страниц. Так почему же функция в Chrome оказывается умнее? Потому что она воспринимает текст частями и переводит каждую часть отдельно.

Вот несколько примеров для экспериментов: многоязычные комментарии к видео в YouTube; ветка в Группах (Google Groups) с коротким текстом и его переводами на французский и испанский; список пресс-релизов на английском и французском.

От переводчика

На русский Chrome указанные примеры перевёл гораздо хуже, чем на английский: из комментариев к видео перевёл только английские, а остальные просто исковеркал; с веткой в Группах справился — написав при этом, что перевод не удался; а вот пресс-релизы опять — перевёл только английские, а французские лишь исковеркал. Похоже, для корректного перевода «по частям» необходимо, чтобы хотя бы одна часть была на языке, на который осуществляется перевод.

Страницы с видео в YouTube будут открываться быстрее

Оригинал статьи: YouTube’s Video Pages Will Load Faster

Несколько недель назад стартовал интересный эксперимент в YouTube: если нажать на видео из списка результатов поиска в YouTube, вверху страницы показывается красная полоса, отображающая процесс загрузки, — очевидно, YouTube открывает страницу с видео динамически, используя AJAX, и меняет адрес страницы без перезагрузки с помощью HTML5-функции history.pushState (вот как это выглядит).

Сайт Gizmodo опубликовал статью об этом эксперименте. Оказывается, YouTube готовится вскоре запустить этот новый интерфейс.

«Сейчас, когда вы переходите на видео в YouTube, сначала открывается страница просмотра (веб-страница, на которой расположено видео). Затем запускается JavaScript-сценарий, проверяющий, загрузилась ли страница, затем грузится видеоплейер, а уж затем начинает загружаться сам видеоролик». В новом интерфейсе всё будет запускаться одновременно. При переходе к видео YouTube загружает только новую страницу и затем видео. Больше не нужно загружать видеоплейер и файлы JavaScript и CSS.

Ещё одно изменение состоит в том, что YouTube производит упреждающую загрузку страницы и начальной части видеоролика, который пользователь, вероятно, будет смотреть следущим, — ещё до нажатия на ссылку, так что видео запускается практически мгновенно. Это стало возможным благодаря тому, что флэш-плейер теперь использует адаптивное вещание и загружает видео «ломтиками». Первый «ломтик» того видео, которое пользователь предположительно будет смотреть, загружается заранее. Это прекрасно подходит открытию видео из плей-листов и результатов поиска (YouTube заранее грузит первый результат), а также в тех случаях, когда YouTube предлагает подсказки.

YouTube надеется, что время между нажатием на ссылку и началом воспроизведение видео сократится и составит не более 200 миллисекунд: бóльший интервал воспринимается как задержка. Так что видео будут воспроизводиться мгновенно (не считая рекламы).

От переводчика

Кстати, о рекламе. AdBlock для Chrome прекрасно вырезает рекламу из роликов YouTube. И с ним, кажется, никто не договаривался.

13 июля 2013 г.

Полноэкранный Перевод[чик] Google

Оригинал статьи: Full-Screen Google Translate

Если переводить с помощью Перевод[чик]а (Google Translate) веб-страницу целиком, можно выгадать дополнительное место, скрыв навигационную панель и поисковую форму. Для этого нужно нажать на кнопку со стрелочками рядом с переключателем «Перевод | Оригинал (Translation | Original). На скриншоте эта кнопка прямо под красной кнопкой «Войти (Sign in)»:

Ну а пользователи браузера Google Chrome всегда могут воспользоваться встроенной функцией перевода.

Поиск по картинке и спецэффекты

Оригинал статьи: Google's Search by Image and Special Effects

В сервисе Картинки (Google Image Search) есть функция «Поиск по картинке», позволяющая искать в вебе картинки, выгрузив файл или дав его адрес (URL). Это разумная возможность, однако на самом деле эта функция разумнее, чем можно предположить.

Очевидно, что Google найдёт картинку, если точно такой же файл размещён на веб-странице или на этот файл есть ссылка. Но Google найдёт картинку, даже если изменить её размеры, кадрировать или применить различные эффекты.

Вот картинка из Википедии, изменённая в размерах и после применения эффекта пикселизации в программе Picasa. Сможет ли Google найти её?

Да, если зайти в раздел «Страницы с похожими изображениями», там будет эта картинка.

А если обесцветить это фото? Справится ли с этим поиск по картинке?

Да, выдаются те же самые страницы:

А если и обесцветить, и эффекты? Да побольше: смягчение фокуса, изменение оттенка, постеризация. Сложно будет распознать, правда?

Неправда.

Используем IrfanView для удаления EXIF-данных и сжатия картинки. Результаты другие, но они есть:

Откроем картинку в Paint и почеркаемся:

А вот оригинал:

Сказать, что это впечатляет, — значит недооценить эту функцию. Гибкий алгоритм, который не ограничивается соответствием пикселей, цветов, форм, но понимает структуру изображения, его суть.

Использованное фото лицензировано по лицензии Creative Commons Attribution, автор — bingbing.