Блог компании Digital October → Практические советы как устроить MMORPG в реале — или зачем скоро снова понадобится купить телевизор

Кристофер Сандберг — это человек, который заставил зрителей шоу «Заговор ради добра» бегать по улицам Лондона и выполнять квесты, сражаясь против вымышленной недобросовестной корпорации. 3 февраля он читал лекцию в России, на которой пытался доказать, что такой бесполезный предмет как телевизор пока рано выбрасывать.
Социальные сети → Новый для рунета формат социальных новостей

Случайно наткнулся на удивительный сервис surfingbird.ru (не мой, почему авторы не написали на хабр — не знаю, но догадываюсь).
В отличие от Reddit-подобных позволяет одновременно и просматривать сайт (в iframe) и делать с ним действия — одобрять, осуждать, пропускать, комментировать, заносить в избранное, делиться на сторонних сайтах.
Сервис вместо главной страницы с рейтингом использует собственный алгоритм нахождения ссылки интересной конкретному пользователю на основе его предыдущих оценок.
Что особенно понравилось простой и ненавязчивый интерфейс. Практически ничего лишнего. Возможность читать интересные ссылки не натыкаясь на одну и ту же заметку по много раз. Прочитав и оценив заметку тебе её больше не покажут, если сам не заглянешь в оценённые.
У сайта есть блог, кое-что из него достойно отдельного поста на хабре. Например об использовании Google Chrome для сервиса создания скриншотов веб-страниц.
Прошу строго не судить, в комментариях вносить дополнения и поправки к заметке — буду обновлять заметку. Думаю этот сервис вполне заслуживает упоминания на Хабре.
Веб-разработка → Неожиданная необходимость в версионности данных из песочницы
Когда на проекте ближе к концу разработки становится понятно, что без версионности данных не обойтись, ведь любой пользователь может зайти и удалить то, что создавалось на протяжении долгого времени десятками других людей, приходится искать решение, требующее минимальных трудозатрат. Не вникая в подробности конкретного проекта, на котором появилась такая необходимость, представим себе google docs spreadsheets документ доступный для редактирования любому посетителю сайта.
Веб-аналитика → Анализ использования SPA-приложения при помощи Google Analytics
В этом топике я хочу описать свой опыт про прикручиванию Google Analytics к web-приложению, построенному по принципу Single-page application.
До выполнения этой задачи я очень отдаленно представлял, что такое Google Analytics и с чем его едят. По этой причине также хочу рассказать и о том, как я понял Google Analytics, убив на это много часов времени. Надеюсь, эта выжимка поможет тем, кто начинает знакомиться с этой системой аналитики.
Сама по себе задача также немного нестандартная, и полученный опыт «скрещивания ежа с ужом» может быть кому-нибудь полезным.
Итак,
До выполнения этой задачи я очень отдаленно представлял, что такое Google Analytics и с чем его едят. По этой причине также хочу рассказать и о том, как я понял Google Analytics, убив на это много часов времени. Надеюсь, эта выжимка поможет тем, кто начинает знакомиться с этой системой аналитики.
Сама по себе задача также немного нестандартная, и полученный опыт «скрещивания ежа с ужом» может быть кому-нибудь полезным.
Итак,
Интерфейсы → Собачка 2.0: на службе у документов
Возможность указывать адресатов прямо в тексте сообщения появилась в Твиттере в 2006 году, после взлета которого идея распространилась и даже стала некоторым стандартом обращения.
Мы решили подробнее разобрать использование этого приема в интерфейсах разных сервисов и поразмышлять о том, как собачка может помочь при совместной разработке документов.

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

Адресация сообщения в документе
Социальные сети → В какую социальную сеть постить? Инструкция
Умные мысли приходят в голову постоянно. Рука сама тянется к гаджету, либо клавиатуре… Но куда же запостить очередной маленький шедевр? Теперь у нас есть удобная графическая инструкция! Куда постить? Google+, Foursquare, LinkedIn, Facebook или Twitter? Вопрос решен!

* Лайкофаг — дословно «пожиратель лайков», «любитель лайков»; человек, которому нравится, когда в ответ на его сообщения нажимают «I Like!», ставят плюсики, поднимают карму.
Источник (english)

* Лайкофаг — дословно «пожиратель лайков», «любитель лайков»; человек, которому нравится, когда в ответ на его сообщения нажимают «I Like!», ставят плюсики, поднимают карму.
Источник (english)
Ruby → Язык Ruby: история становления и перспективы развития из песочницы
Человек создан для творчества, и я всегда знал, что люблю творить. Увы, я обделён талантом художника или музыканта. Зато умею писать программы. Я хочу, чтобы компьютер был моим слугой, а не господином, поэтому должен уметь быстро и эффективно объяснить ему, что делать.
Юкихиро Мацумото, создатель языка Ruby
Перед каждым, кто желает идти по пути программиста, рано или поздно встаёт вопрос выбора сферы разработки ПО (web, desktop, mobile, игровое, системное,..) и соответствующих инструментов (языков программирования, framework'ов, сред разработки...). Причём здесь, как и в строительстве, важную роль играют материалы и орудия, которые вы используете. По сути, они во многом определяют, что в конечном счёте будет построено, насколько быстро, какими свойствами оно будет обладать и т.д.
К примеру, строитель, работающий с деревом, будет склонен к спокойной и вдумчивой деятельности, кропотливой подгонке деталей, использованию ручного инструмента, индивидуальности в подходе. В то же время каменщик может действовать куда быстрее, пользуясь при этом электроинструментом и компенсируя некоторые неточности с помощью лишнего мастерка раствора :) Ну а бетонщик-монолитчик вообще не заморачивается, его задача — сделать всё максимально просто и надёжно в кратчайшие сроки, а кто уже там будет годами заниматься отделкой и дизайном помещений — его не интересует.
Так и с языками программирования: в каждой из сфер разработки ПО обычно есть минимум два-три языка, способных в принципе справиться с поставленной задачей. Однако подход к решению у этих языков обычно несколько отличается, и тут встаёт вопрос приоритетов в разработке и индивидуальных предпочтений программиста. В конечном итоге важно ваше мышление и понимание того, что нужно сделать и каким образом это потом поддерживать. Так что имеет смысл выбирать именно тот язык, на котором вам будет проще и удобней писать, который даст вам возможность раскрыть свой потенциал.
На то, чтобы более-менее близко познакомиться с новым языком, обычно уходит не менее месяца. Эта статья призвана ответить на вопрос, стоит ли потратить этот месяц на Ruby, или имеет смысл посмотреть в сторону других языков. Сам я сейчас также стою перед выбором: улучшать свои знания в PHP (пока я работал с ним самостоятельно во freelance'е — и на довольно простом уровне, сейчас же есть желание расти дальше) или попробовать «с нуля» в Ruby (сразу освоив с его помощью последние тренды в web-программировании и при этом получив, как я надеюсь, довольно современный и удобный инструмент для работы).
Попробовав разобраться, есть ли у Ruby будущее, и есть ли мне место в нём :), я перечитал несколько сотен статей, обсуждений, сравнений и т.д. Попробую привести мои мысли в более-менее системном виде:
Юкихиро Мацумото, создатель языка Ruby
Перед каждым, кто желает идти по пути программиста, рано или поздно встаёт вопрос выбора сферы разработки ПО (web, desktop, mobile, игровое, системное,..) и соответствующих инструментов (языков программирования, framework'ов, сред разработки...). Причём здесь, как и в строительстве, важную роль играют материалы и орудия, которые вы используете. По сути, они во многом определяют, что в конечном счёте будет построено, насколько быстро, какими свойствами оно будет обладать и т.д.
К примеру, строитель, работающий с деревом, будет склонен к спокойной и вдумчивой деятельности, кропотливой подгонке деталей, использованию ручного инструмента, индивидуальности в подходе. В то же время каменщик может действовать куда быстрее, пользуясь при этом электроинструментом и компенсируя некоторые неточности с помощью лишнего мастерка раствора :) Ну а бетонщик-монолитчик вообще не заморачивается, его задача — сделать всё максимально просто и надёжно в кратчайшие сроки, а кто уже там будет годами заниматься отделкой и дизайном помещений — его не интересует.
Так и с языками программирования: в каждой из сфер разработки ПО обычно есть минимум два-три языка, способных в принципе справиться с поставленной задачей. Однако подход к решению у этих языков обычно несколько отличается, и тут встаёт вопрос приоритетов в разработке и индивидуальных предпочтений программиста. В конечном итоге важно ваше мышление и понимание того, что нужно сделать и каким образом это потом поддерживать. Так что имеет смысл выбирать именно тот язык, на котором вам будет проще и удобней писать, который даст вам возможность раскрыть свой потенциал.
На то, чтобы более-менее близко познакомиться с новым языком, обычно уходит не менее месяца. Эта статья призвана ответить на вопрос, стоит ли потратить этот месяц на Ruby, или имеет смысл посмотреть в сторону других языков. Сам я сейчас также стою перед выбором: улучшать свои знания в PHP (пока я работал с ним самостоятельно во freelance'е — и на довольно простом уровне, сейчас же есть желание расти дальше) или попробовать «с нуля» в Ruby (сразу освоив с его помощью последние тренды в web-программировании и при этом получив, как я надеюсь, довольно современный и удобный инструмент для работы).
Попробовав разобраться, есть ли у Ruby будущее, и есть ли мне место в нём :), я перечитал несколько сотен статей, обсуждений, сравнений и т.д. Попробую привести мои мысли в более-менее системном виде:
Дизайн в IT → Бесплатная книга «Best of Smashing Magazine»
8 сентября исполнилось пять лет широко известному в кругу дизайнеров и разработчиков онлайн-журналу Smashing Magazine. Его создатели честно признаются, что, когда только начинали, не планировали превратить свой блог в известное на весь мир онлайн-издание. Секретом успеха своего журнала они считают стремление делать что-то полезное не только для самих себя, но и для окружающих.В честь своего пятилетия Smashing Magazine сделал своим читателям подарок — бесплатная юбилейная книга “Best of Smashing Magazine”.
Книга доступна в трех форматах: PDF, ePUB и Mobipocket.
Apple’s iTunes Store
ZIP архив на сервере Smashing Magazine (.zip, 55 Mb).
JavaScript → Взаимодействие между web-приложениями через Web Intents
Прим.: Обычно не занимаюсь переводами, но новость проскочила интересная.
В сегодняшней браузерной экосистеме веб-приложения полностью изолированы друг от друга, и для того, чтобы, к примеру, отправить комментарий в твиттер через сторонний сервис со своего сайта, необходимо использование сложных (Прим.: ну я бы просто сказал «разнообразных») API. А что если бы мы могли дать сайтам возможность использовать подобные сервисы не зная, какой конкретно сервис мы будем использовать, а зная лишь о том, что он предоставляет некий функционал.
В Android OS эта проблема решается при помощи Intents[1] — архитектуры, позволяющей взаимодействовать компонентам одного или нескольких различных приложений. По этой схеме, клиенсткое приложение создает запрос (к примеру, разослать что-нибудь) и задает параметры, которые будут переданы другому приложению-сервису. После этого пользователю предоставляется список приложений, которые регистрировали свою возможность обрабатывать данный тип intent-запроса. Затем выбранное пользователем приложение запускается в новом контексте, и ему передаются параметры, переданные клиентом в некоем, заранее определенном для конкретного типа intent, формате.
На данный момент мы прилагаем большие усилия для создания аналогичной системы для шеЬ: Web Intents. Эта система предоставит те же удобства, что и Intents для Android, но будет адаптирована для web-приложений.
В сегодняшней браузерной экосистеме веб-приложения полностью изолированы друг от друга, и для того, чтобы, к примеру, отправить комментарий в твиттер через сторонний сервис со своего сайта, необходимо использование сложных (Прим.: ну я бы просто сказал «разнообразных») API. А что если бы мы могли дать сайтам возможность использовать подобные сервисы не зная, какой конкретно сервис мы будем использовать, а зная лишь о том, что он предоставляет некий функционал.
В Android OS эта проблема решается при помощи Intents[1] — архитектуры, позволяющей взаимодействовать компонентам одного или нескольких различных приложений. По этой схеме, клиенсткое приложение создает запрос (к примеру, разослать что-нибудь) и задает параметры, которые будут переданы другому приложению-сервису. После этого пользователю предоставляется список приложений, которые регистрировали свою возможность обрабатывать данный тип intent-запроса. Затем выбранное пользователем приложение запускается в новом контексте, и ему передаются параметры, переданные клиентом в некоем, заранее определенном для конкретного типа intent, формате.
На данный момент мы прилагаем большие усилия для создания аналогичной системы для шеЬ: Web Intents. Эта система предоставит те же удобства, что и Intents для Android, но будет адаптирована для web-приложений.
Песочница → Loginza — авторизация через Вконтакте, Facebook и др. OpenID серверы из песочницы
Вместо вступления
Про сервис Loginza на сегодняшний день не так и много
информации, а которая имеется — в основном от самих разработчиков и достаточно сухо. Это
даже странно. Я хочу рассказать о собственном опыте разработки.
Мне пришлось вплотную столкнуться с решением проблемы авторизации на разрабатываемом
сайте через Facebook и ВКонтакте. Недолго погуглив, наткнулся на Логинзу. Присмотрелся и
решил попробывать.
Документация, хоть и присутствует, но, на мой взгляд, скудновата. Мало примеров. Есть готовые
модули авторизации для раскрученных движков. В этом своём посте я хотел бы вкратце
рассказать алгоритм, который применил я в своём проекте.