Взаимодействие с системами, которые реагируют на запросы пользователя быстро (в течение 100 мс), ощущается тем же пользователем, как более плавное и естественное, чем взаимодействие с системами, которые реагируют долго. Развитие Интернета и возникновение датацентр-масштабных вычислительных систем (warehouse-scale computing systems) дало возможность появлению появлению веб-сервисов, обладающих высокой скоростью реакции и в тоже время, обрабатывающих терабайтные массивы данных, расположенные на тысячах серверов. Например, поисковая система Google обновляет результаты выдачи в ответ запроса одновременно с тем, как пользователь печатает, при этом система предсказывает наиболее вероятный запрос, основываясь на напечатанном префиксе, и осуществляет поиск и отображение результатов за десятки милисекунд. Устройствам дополненной реальности (таким как, например, Google Glass), которые только-только начали выходить на рынок, понадобятся веб-сервисы с еще более высокой скоростью реакции, дабы гарантировать естественность взаимодействия.
Тимур Козьменко @Timrael
User
Digital-линзы от Intel & Mail.Ru Group — взглянем на мир по-новому!
4 min
32KКорпорация Intel и Mail.Ru Group, крупнейшая интернет-компания в русскоязычном сегменте cети, объявляют о начале сотрудничества. Первый совместный проект, который собираются запустить компании — digital-линзы, позволяющие увидеть мир по-новому. Линзы представляют собой аппаратно-программное решение, использующееся в качестве важнейшего дополнения к смартфонам на базе процессоров Intel Atom. Вклад Mail.Ru Group в проект — предоставление пользователям линз уникальных возможностей использования интернет-сервисов компании, специально адаптированных для digital-линз.


+18
Оцифровка человека: мы не готовы
2 min
150K
Идея информационной телепортации крайне проста: специальный сканер разбирает объект на атомы, одновременно считывая их полное состояние. Полученные данные передаются в пункт назначения, где 3D-принтер с атомарным разрешением печатает исходный объект. Просто, логично, понятно. Многократно показано в фантастике (например, в фильме «Трон»).
Какова же должна быть пропускная способность сети для комфортной телепортации? Хватит ли нам плохонького 3G от «большой тройки»?
+86
Управление растущими нагрузками в Postgres: 5 советов от Instagram
5 min
28KTranslation
С тех пор как число активных пользователей Instagram стало постоянно расти, Postgres оставался нашим надежным фундаментом и неизменным хранилищем данных для большинства данных, создаваемых пользователями. И хотя меньше года назад мы писали о том, как мы храним большое количество данных на Instagram при 90 лайках в секунду, сейчас мы обрабатываем более 10000 лайков в секунду – и наша основная технология хранения данных не изменилась.
За последние два с половиной года, мы поняли несколько вещей и подобрали пару инструментов для масштабирования Postgres и мы хотим ими поделиться – то, что мы хотели бы знать при запуске Instagram. Некоторые из них специфичны для Postgres, другие представлены также и в других базах данных. Чтобы знать, как мы горизонтально масштабируем Postgres, смотрите наш пост Sharding and IDs at Instagram
За последние два с половиной года, мы поняли несколько вещей и подобрали пару инструментов для масштабирования Postgres и мы хотим ими поделиться – то, что мы хотели бы знать при запуске Instagram. Некоторые из них специфичны для Postgres, другие представлены также и в других базах данных. Чтобы знать, как мы горизонтально масштабируем Postgres, смотрите наш пост Sharding and IDs at Instagram
+62
Учим язык, смотря сериалы: vlc + lua + stardict + wordnet + anki = l'amour
3 min
129KОчень уж мне нравится смотреть сериалы, а еще я учу с их помощью языки. И если раньше я прилежно останавливал видео на непонятном месте, перематывал назад, включал субтитры и забивал незнакомые слова в Анки, то сейчас я делаю то же самое. Разве что лень заставила этот процесс автоматизировать, что привело к созданию расширения Say It Again для проигрывателя VLC со следующими особенностями:

- Навигация по субтитрам (переход к предыдущей, следующей фразе) — клавиши y, u;
- Сохранение слова, его транскрипции и перевода вместе с контекстом (см. скриншот) — клавиша i;
- Функция «Еще раз»: переход к предыдущей фразе, показ субтитра и пауза — клавиша backspace;
- Подключение любых словарей в формате Stardict (в сети лежат словари из Lingvo x3);
- Экспорт в Anki или другую программу, понимающую файлы в формате csv;

+108
Используем Resque в Rails
4 min
27KResque — ruby-библиотека для создания фоновых задач, составления очередей таких задач и их последующего выполнения. Задачи могут быть любым ruby-классом или модулем, содержащим метод perform. В ruby-сообществе Resque пришел на смену Delayed Job (не знаю, кстати, почему проект перестал развиваться, весьма удобная была вещь на мой взгляд) и обладает большим количеством различных преимуществ, таких как разделение задач по разным машинам, приоритеты задач, устойчивость к разным утечкам памяти и еще, и еще, и еще. На этом вступление для тех, кто не может самостоятельно перевести первый абзац из README прошу считать законченным.
В данной статье будет показано как использовать resque и resque-scheduler в rails-приложении.
В данной статье будет показано как использовать resque и resque-scheduler в rails-приложении.
+18
Чем занимается Google на самом деле: дубль 2
3 min
105KПредисловие: мой предыдущий пост на эту тему попал в утиль — на хабре, увы, больше нет раздела «ссылки», а даже частичный копипаст в виде затравки с ссылкой на оригинальный текст, запрещен правилами. Тем не менее, я считаю случившееся событие очень важным, поэтому рискую еще раз вынести это текст на обсуждение. Чтобы остаться в рамках правил, постараюсь пересказать основной текст своими словами.
Итак, с середины с декабря прошлого года в Google начал работать известный изобретатель и футуролог Рей Курцвейл. Как пишет в свой статье Олег Парамонов (а это и есть основной текст, на который я хотел сослаться), событие это из ряда вон выходящее и, я не побоюсь этого слова, революционное.

Давайте сначала разберемся зачем гуглу вообще исскуственный интеллект. На фоне новостей про Android, гидроэлектростанции и прочее-прочее-прочее, легко забыть, что Google, это прежде всего поиск. Собственно, именно он приносит львиную часть доходов. Но что такое поиск завтрашнего дня?
Цитата 1:
«Ещё в 2000 году Ларри Пейдж, один из основателей Google, объявил, что идеальной версией поисковика будет искусственный интеллект.
Цитата 2 (из документа Google для внутреннего пользования 2006 года):
»Чтобы стать лучшими в поиске, мы должны создать исследовательский центр мирового класса, занимающийся искусственным интеллектом".»
Итак, с середины с декабря прошлого года в Google начал работать известный изобретатель и футуролог Рей Курцвейл. Как пишет в свой статье Олег Парамонов (а это и есть основной текст, на который я хотел сослаться), событие это из ряда вон выходящее и, я не побоюсь этого слова, революционное.

Давайте сначала разберемся зачем гуглу вообще исскуственный интеллект. На фоне новостей про Android, гидроэлектростанции и прочее-прочее-прочее, легко забыть, что Google, это прежде всего поиск. Собственно, именно он приносит львиную часть доходов. Но что такое поиск завтрашнего дня?
Цитата 1:
«Ещё в 2000 году Ларри Пейдж, один из основателей Google, объявил, что идеальной версией поисковика будет искусственный интеллект.
Цитата 2 (из документа Google для внутреннего пользования 2006 года):
»Чтобы стать лучшими в поиске, мы должны создать исследовательский центр мирового класса, занимающийся искусственным интеллектом".»
+125
Эх, ухнем! Распределенные вычисления вчера и сегодня
5 min
32K
Принцип параллельного проведения расчетов – один из тех, что буквально «витают в воздухе». И это естественно, ведь любую работу удобней выполнять сообща. Параллельные вычисления появились задолго до первой ЭВМ, однако идея расцвела именно в компьютерную эпоху, ведь именно тогда появились и задачи, требующие большой вычислительной мощности, и устройства, готовые «всем миром» эту мощность предоставить. В эти дни исполняется ровно 15 лет с моего первого знакомства с проектами распределенных вычислений – хороший повод, чтобы написать об их истории и сегодняшнем дне.
+19
Сервис, помогающий найти на TaoBao «редкие» товары (+ немного халявного Google Translate API)
4 min
24KВсех приветствую! Думаю очень-очень многие знают что такое TaoBao или по крайней мере слышали.
Для тех кто не знает: TaoBao — гигантская китайская торговая площадка, количество товаров на которой измеряется числом, близким к миллиарду. Там можно найти практически любой каприз вашей фантазии, причем довольно дешево. Но есть две проблемы: найти товар (весь сайт TaoBao и все описания на китайском) и доставить его (доставка на TaoBao только по Китаю)
Если вторую проблему легко решают множество посредников, то с первой все несколько сложнее. Если вы хотите найти что-то интересное, необычное или выходящее за рамки «обыденных товаров», то перед вами встанет трудность в виде языкового барьера
Примерно два месяца назад я пытался запустить свой интернет-магазин, ассортимент которого довольно уникален для России. Товары планировалось закупать на TaoBao. Задача поиска товаров и некоторые идеи упрощения этого утомительного процесса воплотились в идею сервиса-помощника. Некоторые рутинные действия можно было автоматизировать, что и было сделано. Что из этого получилось смотрите под катом.
Для тех кто не знает: TaoBao — гигантская китайская торговая площадка, количество товаров на которой измеряется числом, близким к миллиарду. Там можно найти практически любой каприз вашей фантазии, причем довольно дешево. Но есть две проблемы: найти товар (весь сайт TaoBao и все описания на китайском) и доставить его (доставка на TaoBao только по Китаю)
Если вторую проблему легко решают множество посредников, то с первой все несколько сложнее. Если вы хотите найти что-то интересное, необычное или выходящее за рамки «обыденных товаров», то перед вами встанет трудность в виде языкового барьера
Примерно два месяца назад я пытался запустить свой интернет-магазин, ассортимент которого довольно уникален для России. Товары планировалось закупать на TaoBao. Задача поиска товаров и некоторые идеи упрощения этого утомительного процесса воплотились в идею сервиса-помощника. Некоторые рутинные действия можно было автоматизировать, что и было сделано. Что из этого получилось смотрите под катом.
+20
Тонкости Rails 4 — Cache Digests
5 min
13KTutorial
Recovery Mode
Translation

Гем под названием "cache_digests" (включен по умолчанию в Rails 4) автоматически добавляет цифровую подпись к каждому фрагментному кэшу, основываюсь на представлении (вьюхе). При этом, если страница изменяется, то старый кэш автоматически удаляется. Но остерегайтесь подводных камней!
+22
Ускоряем запуск Ruby on Rails используя набор патчей RVM railsexpress
2 min
7.4KЭта статья для тех, кто хочет ускорить запуск рельс, а заодно ускорить работу интерпретатора ruby.
О том как установить RVM (Ruby version manager) уже написано много статей, поэтому я перейду сразу к делу.
Список патчей в RailsExpress для Ruby 1.9.3-p362
(это последняя версия руби на момент написания статьи)
О том как установить RVM (Ruby version manager) уже написано много статей, поэтому я перейду сразу к делу.
Список патчей в RailsExpress для Ruby 1.9.3-p362
(это последняя версия руби на момент написания статьи)
Applying patch railsexpress/01-fix-make-clean.patch
Applying patch railsexpress/02-railsbench-gc.patch
Applying patch railsexpress/03-display-more-detailed-stack-trace.patch
Applying patch railsexpress/04-fork-support-for-gc-logging.patch
Applying patch railsexpress/05-track-live-dataset-size.patch
Applying patch railsexpress/06-webrick_204_304_keep_alive_fix.patch
Applying patch railsexpress/07-export-a-few-more-symbols-for-ruby-prof.patch
Applying patch railsexpress/08-thread-variables.patch
Applying patch railsexpress/09-faster-loading.patch
Applying patch railsexpress/10-falcon-st-opt.patch
Applying patch railsexpress/11-falcon-sparse-array.patch
Applying patch railsexpress/12-falcon-array-queue.patch
+15
JavaScript: от начала до конца
6 min
189KTL;DR
Эта обзорная статья. Такое себе "краткое содержание предыдущих серий". Она будет полезна для новичков, или тех, кто не следил за отраслью в последнее время. Для новичков это будет первый шаг во "Вселенную JavaScript", бывалые смогут освежить свои знания.

Изначально Автор хотел написать функциональный язык. Но менеджеры хотели получить, «обычный» объектно-ориентированный. И чтобы было легко искать разработчиков для новоиспеченного языка синтаксис решили сделать похожим на Java и даже название сделали похожим.
Но на этом история не заканчивается. Java, JavaScript это торговые марки Sun (а теперь Oracle). Microsoft не мог воспользоваться именем JavaScript (Netcape и Sun дружили против Microsoft). В результате Microsoft решил сделать реверс инжиниринг JavaScript и назвал его JScript. Сделали реверс инжиниринг, и сделали его настолько хорошо, что даже содрали все баги в реализации. Позже решили сделать стандарт и назвали его ECMAScript.
+101
Рэй Курцвейл стал техническим директором Google
1 min
65K
+63
Ruby Science: руководство по созданию качественных приложений на Ruby on Rails от thoughtbot
3 min
13Kthoughtbot (с маленькой буквы) — одна из ведущих американских консалтинговых фирм, ориентированных на веб разработку с помощью Ruby on Rails. thoughtbot эксплуатирует распространенную в этой среде бизнес-модель, и зарабатывает не только за счет консалтинга, но и за счет своих больших вкладов в Open Source, активного участия в жизни сообщества (например, подкаст Giant Robots Smashing into Other Giant Robots), образовательной деятельности (воркшопы, менторство), внутренних продуктов и литературы.
На их счету до сегодняшнего дня числилось две полноценных книги: The Playbook — исчерпывающий справочник по внутреннему распорядку и трудовым хитростям thoughtbot (бесплатна для изучения на их сайте), и Backbone.js on Rails — не менее исчерпывающее руководство по использованию JS фреймворка Backbone вместе с Ruby on Rails.
Интересна особенность их подхода к публикации книг. Это не статичный труд, написанный однажды, напечатанный на бумаге и устаревающий с годами, а продукт, поддерживающий версионность, развивающийся под влиянием читателей и сопровождающийся различными электронными плюшками, в том числе и готовым к использованию кодом примеров. «Исходники» книги хранятся на github, а это значит, что в любой момент читатель имеет возможность получить самый свежий релиз, сообщить о проблеме, обсудить какую-либо часть текста и т.п.
Сегодня они объявили о начале работы над новой книгой, под названием «Ruby Science. The reference for writing fantastic Rails applications». Более того, начать чтение книги и принять участие в её развитии можно уже сейчас.

На их счету до сегодняшнего дня числилось две полноценных книги: The Playbook — исчерпывающий справочник по внутреннему распорядку и трудовым хитростям thoughtbot (бесплатна для изучения на их сайте), и Backbone.js on Rails — не менее исчерпывающее руководство по использованию JS фреймворка Backbone вместе с Ruby on Rails.
Интересна особенность их подхода к публикации книг. Это не статичный труд, написанный однажды, напечатанный на бумаге и устаревающий с годами, а продукт, поддерживающий версионность, развивающийся под влиянием читателей и сопровождающийся различными электронными плюшками, в том числе и готовым к использованию кодом примеров. «Исходники» книги хранятся на github, а это значит, что в любой момент читатель имеет возможность получить самый свежий релиз, сообщить о проблеме, обсудить какую-либо часть текста и т.п.
Сегодня они объявили о начале работы над новой книгой, под названием «Ruby Science. The reference for writing fantastic Rails applications». Более того, начать чтение книги и принять участие в её развитии можно уже сейчас.

+26
2013: Обратный отсчет до Rails 4
1 min
12KВсе ближе тот момент, когда выйдет четвертый порядковый релиз фреймворка Ruby on Rails. Доступно уже довольно много информации, и большой частью нового функционала можно начать пользоваться уже сейчас, чтобы массовый исход на новую версию не стал слишком болезненным (хотя политика версионности рельсы делает все, чтобы этот процесс был максимально гладким).
Самое время пробовать новинку на вкус. Ребята из Remarkable Labs пообещали выпускать для Вас по статье в день до самого нового года, освещая различные аспекты желанной четвертой рельсы.
Самое время пробовать новинку на вкус. Ребята из Remarkable Labs пообещали выпускать для Вас по статье в день до самого нового года, освещая различные аспекты желанной четвертой рельсы.
+21
Путь к победе на Russian AI Cup 2012
11 min
28KЗдравствуйте, Хабравчане!
Предлагаю вашему вниманию историю своего участия и победы в финале конкурса по программированию CodeTanks 2012.

Про соревнование я узнал на Хабре, решил выяснить подробнее, пошел на сайт проекта. Обрадовала возможность писать на С++ под Linux без танцев с бубном. Сразу подумалось, что будет выигрыш в производительности по сравнению с участниками, пишущими на языках типа Java/Python. Ну и сам формат соревнования мне понравился: до первого раунда две недели, дальше по неделе перерыва между раундами. Не нужно в жутком цейноте рожать правильно работающий код, а можно относительно спокойно все продумать и запрограммировать. Дальнейшее изучение правил и просмотр боев на сайте только укрепили решение участвовать: мне гораздо более интересно программировать AI в сложном и плохо определенном окружении, чем в полностью формализованном, типа настольных игр.
Предлагаю вашему вниманию историю своего участия и победы в финале конкурса по программированию CodeTanks 2012.

Про соревнование я узнал на Хабре, решил выяснить подробнее, пошел на сайт проекта. Обрадовала возможность писать на С++ под Linux без танцев с бубном. Сразу подумалось, что будет выигрыш в производительности по сравнению с участниками, пишущими на языках типа Java/Python. Ну и сам формат соревнования мне понравился: до первого раунда две недели, дальше по неделе перерыва между раундами. Не нужно в жутком цейноте рожать правильно работающий код, а можно относительно спокойно все продумать и запрограммировать. Дальнейшее изучение правил и просмотр боев на сайте только укрепили решение участвовать: мне гораздо более интересно программировать AI в сложном и плохо определенном окружении, чем в полностью формализованном, типа настольных игр.
+154
MapReduce 2.0. Какой он современный цифровой слон?
10 min
29K
Если ты ИТшник, то нельзя просто так взять и выйти на работу 2-го января: пересмотреть 3-ий сезон битвы экстрасенсов или запись программы «Гордон» на НТВ (дело
Нельзя потому, что у других сотрудников обязательно будут для тебя подарки: у секретарши закончился кофе, у МП — закончились дедлайны, а у администратора баз данных —
Оказалось, что инженеры из команды Hadoop тоже любят побаловать друг друга новогодними сюрпризами.
2008
2 января. Упуская подробное описание эмоционально-психологического состояния лиц, участвующих в описанных ниже событиях, сразу перейду к факту: поставлен таск MAPREDUCE-279 «Map-Reduce 2.0». Оставив шутки про число, обращу внимание, что до 1-ой стабильной версии Hadoop остается чуть менее 4 лет.
За это время проект Hadoop пройдет эволюцию из маленького инновационного снежка, запущенного в 2005, в большой снежный
Ниже мы предпримем попытку разобраться, какое же значение январский таск MAPREDUCE-279 играл (и, уверен, еще сыграет в 2013) в эволюции платформы Hadoop.
+27
Применение принципа DRY в RSpec
5 min
19K
DRY(Don’t Repeat Yourself) — один из краеугольных принципов современной разработки, а особенно в среде ruby-программистов. Но если при написании обычного кода повторяющиеся фрагменты обычно легко можно сгруппировать в методы или отдельные модули, то при написании тестов, где повторяющегося кода порой еще больше, это сделать не всегда просто. В данной статье содержится небольшой обзор средств решения подобных проблем при использовании BDD-фреймворка RSpec.
+26
Загрузка сознания или ускоренное обучение
5 min
26KСколько времени в своей жизни тратит человек на обучение, на процесс приобретения новых знаний? При этом я подразумеваю любые знания, будь то приобретенный инстинкт самосохранения от ожога кипящей кастрюли, или всего на всего урок школьной геометрии. При этом, большая часть знаний усваивается на практических ошибках.
В этой статье я бы хотел поделится способом по управлению человеческим сознанием, сопоставляя это с процессом разработки программного обеспечения для ПК. При этом, вся статья в целом несет в себе лишь теоретические предположения с большей долей фантастики, и не претендует на какие-либо утверждения или факты.
Можно представить, что знания человека — это алгоритмы, только хранятся они в виде мыслеформ в мозге человека. Каждый день человек узнает для себя что-то новое, получая информацию из вне благодаря всем своим органам чувств. В частности, IT-шники больше всего используют для этого глаза. Попробуем провести исследование приобретения новых знаний:
В этой статье я бы хотел поделится способом по управлению человеческим сознанием, сопоставляя это с процессом разработки программного обеспечения для ПК. При этом, вся статья в целом несет в себе лишь теоретические предположения с большей долей фантастики, и не претендует на какие-либо утверждения или факты.
Введение
Можно представить, что знания человека — это алгоритмы, только хранятся они в виде мыслеформ в мозге человека. Каждый день человек узнает для себя что-то новое, получая информацию из вне благодаря всем своим органам чувств. В частности, IT-шники больше всего используют для этого глаза. Попробуем провести исследование приобретения новых знаний:
+13
Ruby на вашем сервере может работать в 2 раза медленее из-за RVM
2 min
17K
Просматривая сегодня «Ruby Inside», наткнулся на статью Justin Kulesza Is Your Application Running with Ruby – Slow?. Статья от 6 ноября, но на Хабре об этой ситуации ни слова. А суть статьи вот в чем: ребята переносили свое приложение с сервера на Solaris на сервер с Ubuntu и использовали RVM для компиляции Ruby. Однако после переноса они заметили, что приложение стало как-будто бы тормознутее. Сначала погрешили на железо, но быстро выяснили, что дело в RVM, а именно в том, что RVM совершенно не использует оптимизацию при компиляции.
+57
Information
- Rating
- Does not participate
- Location
- Владивосток, Приморский край, Россия
- Date of birth
- Registered
- Activity