Архив за 23 июня 2014 - 8

Один из разработчиков рассказал о том, откуда взялся стартап Hola, и прежде всего — о технических аспектах работы компании.

Предпосылки возникновения Hola

Hola: принципы работыПредположим, в среднестатистическом уездном городе N мирно уживаются два провайдера, причем один из них (П1) предлагает своим клиентам за подключение приз: бочку варенья, да пачку печенья. Следовательно, клиентов у него больше, чем у второго провайдера (П2). Но весь бюджет П1 ушел на сладости, да и канал у него не особо широкий и постоянно загружен. А канал П2 широкий, но чаще всего простаивает. П1, ясное дело, не спешит делиться своим каналом с клиентами П2. В итоге имеем большую часть населения с диабетом неэффективное использование канала, вызванное здоровой рыночной конкуренцией.

Другая ситуация. В одном из районов уездного городка N все жители поголовно любят котиков. И регулярно смотрят сами и делятся друг с другом ссылками на смешные видео на Youtube. Получается, что одновременно не только гражданин Васисуалий тащит к себе из заморского хранилища немаленьких размеров видео, но и все остальные жители микрорайона делают то же самое. В итоге: Youtube вынужден тратить деньги на кеширующие сервера поближе к городку N, а провайдеры – на дорогостоящий трафик через океаны. Но ведь гораздо проще и дешевле было бы заполучить видео непосредственно от Васисуалия!
Читать полностью »

Ну и где сборка для Linux?
Что же вы раньше не спросили, вот она: Opera для Linux.
Да, всё верно — сегодня мы выпускаем первую сборку новой Opera для Linux на канале Developer.

Для того, чтобы сделать первую версию стабильнее и запустить её как можно скорее, мы специально сосредоточились на одной платформе — это 64-битная Ubuntu Linux с оболочками Unity или Gnome Shell. Поэтому сборка, которую мы показываем сегодня, работает только в этом окружении. По мере стабилизации разработки, мы рассмотрим поддержку и других платформ.

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

Рой Тейлор (Roy Taylor), в январе прошлого года занявший пост вице-президента AMD, отвечающего за продажи в канале на глобальном уровне, опубликовал фото с подписью, намекающее на скорый выпуск нового процессора серии FX.

Номер модели, срок выхода и цена нового процессора AMD FX с СВО пока неизвестны

Читать полностью »

Через серию статей попробую разобрать движок на webgl.

Основным требованием будет минимальный ввод данных. Ведь, грубо говоря, движок — это модель, созданная для упрощения задачи. Материал рассчитан на начинающий уровень, для тех, кто прочитал основы webgl и хочет попробовать начать работать. Таких как я.

Первое. Описание задачи на пальцах

Необходимо создать классы объектов (примитивы), которые из себя представляют набор точек. При этом примитивы должны быть независимы друг от друга. Каждый примитив можно перемещать, поворачивать вокруг центра или вокруг произвольной точки.
Необходимо создать механизм обрисовки этих объектов.
И напоследок необходимо создать что то вроде карты на которой можно установить наши объекты и по которой можно свободно перемещаться.

Читать полностью »

Введение

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

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

Отметим, что приводимые подходы применимы не только к текстам, а вообще к любым объектам, которые можно представить в виде символьных последовательностей, например, какие-нибудь макромолекулы (ДНК, РНК, протеины) из генетики. Всего мы рассмотрим 4 метода:

  1. Признаковое описание.
  2. Попарное наложение (выравнивание) текстов.
  3. Формирование профиля и скрытой марковской модели.
  4. Представление фрагментами.

Итак, приступим.
Читать полностью »

Некоторое время назад в одном из пансионатов Ленинградской области в узком кругу хостинг-провайдеров совладелец Openstat Леонид Филатов представил доклад, который стал своего рода пиршеством мета-анализа. Много разнородных данных удалось объединить на примере темы, которая волнует большинство вебмастеров и хостеров — производительность (скорость) отдачи страниц веб-сайтов на различных хостингах и в зависимости от различных движков.

Пример такого отчета.

Неделя производительности в Рунете

Как видите, данных так много, что хочется сделать их декомпрессию.

Но сначала пара абзацев о том, как они получены.

Читать полностью »

Сравнение геолокационных бинарных баз и их драйверов: GeoIP, Sypex Geo, TabGeoОсобенностью данного тестирования является некая приближенность к реальным условиям, когда есть необходимость определять страну одного посетителя на лету за один запуск скрипта, то есть: один запуск скрипта — один ip-адрес. В подобном тестировании от zapimir использовался другой принцип, который, как мне кажется, имеет мало общего с реальной необходимостью: один запуск скрипта — определение нескольких тысяч ip-адресов в цикле.
Читать полностью »

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

Для всех, кому интересно как сделать свои запросы в ES интереснее и посмотреть на обычной поиск с другой стороны, прошу под кат.
Читать полностью »

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

До настоящего времени считалось, что в AMD Radeon R9 290X используются все возможности GPU Hawaii. Однако источник со ссылкой на слова энтузиаста разгона с форума OCUK под ником 8 Pack, утверждает, что это не так.

В AMD Radeon R9 290X используются не все возможности GPU Hawaii

Читать полностью »

При любом взаимодействии клиента и сервера мы сталкиваемся с необходимостью повторять запросы. Сетевое соединение может быть ненадежно, могут быть проблемы на сервере или любые другие причины, из-за которых необходимо повторить запрос. То же самое касается и взаимодействия backend-сервера с базой данных или любым другим хранилищем данных (другим сервисом).

Мы сегодня поговорим об интервале повторов запроса. Через какой период времени после неудачного запроса можно его повторить? Давайте рассмотрим две стратегии: повтор через фиксированный интервал времени и экспоненциальное откладывание (exponential backoff). Мы увидим на симуляции, что при условии наличия большого числа клиентов повтор через фиксированный интервал может не дать серверу «подняться», а использование exponential backoff позволяет избежать этой проблемы.

Вопрос интервала повторов становится важным при проблемах на сервере. Очень часто сервер способен выдержать нагрузку от клиентов, которые отправляют запросы в некотором «текущем» режиме, распределяя свои запросы во времени случайным образом. Если на сервере происходит отказ, все клиенты обнаруживают его и начинают повторять запросы через некоторый интервал. Может оказаться, что частота таких запросов превышает тот предел, который сервер может обрабатывать.

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

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js