Обновить
1
0
Дмитрий Баранов @dem0n3d

Пользователь

Отправить сообщение

Карта Интернета

Время на прочтение3 мин
Количество просмотров20K
Привет всем!

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

image

Например, если ввести в поиск habrahabr.ru, то можно увидеть, что dirty.ru и leprosorium.ru в том же «созвездии», а еще подальше livejournal.ru. Это говорит о том, что тот, кто сейчас читает этот текст, также с высокой вероятностью посещает эти сайты (относительно усредненного пользователя Рунета конечно).

Еще более интересный пример кластеризации можно увидеть внизу карты, между фиолетовой Японией и желтоватой Бразилией: там расположилась целая порнострана по размерам сопоставимая со всем Евронетом. Интересно, что будучи достаточно компетентным в рассматриваемом вопросе, внутри большого порнокластера можно различить тематические подкластеры меньшего размера.

Тем, кого интересует краткое техническое описание – добро пожаловать под кат
Читать дальше →

Генерация случайных чисел с помощью Random.org

Время на прочтение3 мин
Количество просмотров143K
Кто пытается арифметическими методами генерировать случайные числа, тот, конечно, живет во грехе.
— Джон фон Нейман

Есть такой хороший сервис random.org, который уже не раз упоминался на хабре. Основная задача сайта — генерация случайных чисел с использованием атмосферных шумов. На том же сайте можно найти результаты тестов и сравнения случайных и псевдослучайных генераторов с объяснениями что лучше и почему. В данной статье описывается простенькая библиотека для использования API сайта.

Читать дальше →

Почта. Основы настройки в Linux

Время на прочтение6 мин
Количество просмотров29K
Когда начинающие системные администраторы сталкиваются с необходимостью настройки почтового сервера, они могут испытывать затруднения связанные с пониманием основных принципов работы почтового механизма. Чтобы внести ясность, я подготовил эту статью, основанную на освещении тех моментов, которые были мне в свое время непонятны. Статья подойдет также разработчикам ПО, которым надо быстро поднять почтовый сервер и протестировать свое приложение.
Читать дальше →

Играй и изучай VIM одновременно

Время на прочтение1 мин
Количество просмотров22K
Наткнулся на интересную вещицу: VIM Adventures.



Это онлайн игра основанная на хоткеях текстового редактора VIM. Полезна будет тем, кто всегда боялся открывать VIM, чтобы, наконец, пересилить страх; а также тем, кто уже давно знаком с VIM, чтобы просто получить немного удовольствия.

Valve: как я здесь оказался, на что это похоже и чем я здесь занимаюсь

Время на прочтение14 мин
Количество просмотров65K
Автор оригинальной статьи — Майкл Эбраш, человек и пароход. Для тех, кому лень изучать википедию, отмечу, что это программист с более чем 30-летним стажем работы, который в свое время помог Кармаку сделать Quake, разработал GDI для Windows NT, приложил руку к созданию первых двух версий Xbox, а сейчас работает в R&D-отделе компании Valve.
В своей заметке он вспоминает, как зарождалась индустрия 3D-игр вообще и Valve в частности, рассказывает про свой опыт работы в различных корпорациях, приоткрывает завесу внутренней кухни Valve и ищет новых сотрудников. Статья большая, и я посчитал ее достаточно интересной для того, чтобы перевести на хабр.





Всё началось с Лавины*.

Если бы я не прочел её и не влюбился в идею Метавселенной, если бы она не заставила меня представить, насколько распределенная 3D сеть близка к воплощению в жизнь, если бы я не подумал я могу сделать это и, что более важно, я хочу сделать это, я бы никогда не встал на путь, который в конечном счете привел меня в Valve.

В 1994 году я уже несколько лет как работал на Microsoft. Однажды вечером, когда моя дочка рассматривала книги в магазине Little Professor в Sammamish Plateau, мне посчастливилось заметить Лавину на полке. Я взял книжку, прочитал первые страницы, решил купить и в итоге проглотил её за день. Параллельно я начал задумываться о том, что 80 процентов описанного в ней осуществимо прямо сейчас, и мне захотелось реализовать это сильнее, чем когда-либо вообще хотелось сделать что-то с компьютером — я всю жизнь читал научную фантастику, и вдруг мне выпал шанс превратить её в реальность. Так я попытался начать в Microsoft проект по созданию технологии сетевого 3D.

Читать дальше →

Не надо вычислять смысл и знания, когда их можно доставать из машинной памяти

Время на прочтение3 мин
Количество просмотров2K
Как говорил великий классик Аристотель, «известное, оказывается, известно немногим».

Языковеды всего мира подвержены одной пагубной иллюзии, полагая, что если они сумеют построить «правильный синтаксический граф», (то есть, «дерево фразы»), то они в этом случае, наконец-таки, решат это треклятую проблему машинной обработки естественно-язычных текстов (еят). Вот и ищут лингвисты денно и нощно какие-то мифические связи и отношения между словами (семантическими единицами) в предложениях и абзацах текстов. Да ещё и кибернетиков подключили к этим своим безуспешным поискам. Прошло уже полвека таких изысканий, а воз, как говорится, и поныне там. Не строится никак этот граф, давая много лет устойчивые 50% ошибок. Уже и сотни миллионов долларов потрачены. Один только проект «Watson» чего стоит. А ведь, в принципе, этих «связей и отношений» и нет на самом-то деле. Всё это, если внимательно вдуматься, искусственные наукообразные выдумки, из-за которых, собственно, прогресс в деле создания технологии осмысленной обработки еят зашел в тот тупик, где сейчас и пребывает.

Лингвисты как те инопланетяне, в руки которых попало обыкновенное для землян куриное яйцо. Вот они его могут изучать и так и сяк. И обмерить вдоль и поперек, и взвесить, и рентгеном просветить, и скорлупу исследовать на состав, и её твердость по Моосу замерить, и хрупкость уточнить, и цвет откалориметрировать. В общем провести всё, что только можно измерить, а вот понять, как оно образуется, того бедняги никак не смогут, поскольку самой курицы не знают и не ведали. Точно также не могли туземцы океанических островов нашей планеты понять, каким это образом транзисторный приемник, занесенный к ним западной цивилизацией, может издавать членораздельные звуки или звуковые мелодии. И как-бы они не изучали этот приемник, не пробовали его на зуб или на вкус, того бы вовек сами не поняли, что к такому устройству еще и радиостанция нужна. Подобная картина наблюдается и с языковедами, изучающими еят, как продукт (яйцо, транзистор) человеческого мышления (курицы, радиостанции), не обращая, при этом, внимания на самого «генератора (производителя) яйца».
Читать дальше →

Вебинары по QML и QtQuick: создание интерфейса пользователя

Время на прочтение1 мин
Количество просмотров13K
Данный эпизод серии вебинаров по QML и QtQuick посвящен базовым средствам по созданию пользовательских интерфейсов.

Кирилл Кринкин, руководитель лаборатории FRUCT Open Source & Linux Lab, расскажет про основные типы графических элементов. Посмотрев видео, вы узнаете, как с помощью QML можно работать с цветами, градиентами, графическими файлами и текстовыми элементами — возможности каждого элемента сперва описываются короткой теоретической частью, после чего демонстрируются на практике.

В вебинаре речь также пойдёт об организации элементов на форме. На приведенных примерах будет продемонстрирована работа с якорями (anchors) и отступами (margins) для позиционирования и выравнивания элементов. В теоретической части будут описаны возможности и правила (ограничения) при использовании якорей и отступов.

Смотрите вебинар под катом

Компьютерная лингвистика бессильна нам помочь в обработке текстов

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

Будущее машинной обработки естественно-язычных текстов, безусловно, видится в создании и развитии надлингвистических технологий, способных осуществлять анализ содержания информации на уровне смыслового понимания контекста подобно тому, как это умеет делать человек. Однако, созданию «мыслящих машин» (Thinking Machine) длительное время препятствовали два основных фактора – отсутствие необходимой методологии и должного инструментария для решения двух фундаментальных задач — это нахождение «формулы смысла» и построения «модели знаний о мироздании» в некотором формализованном доступном для компьютера виде, без чего, собственно, невозможно повторить на программном уровне естество человеческого мышления.

Лингвисты вкупе с кибернетиками эти проблемы так и не смогли преодолеть, поскольку последнее лежит уже вне границ их предметной специализации, из-за чего, собственно, существенно затормозилось развитие таких давно затребованных прикладных направлений текстовой обработки, как, например, создание «умных» диалоговых систем или «смысловых Интернет-поисковиков». Да и тот же машинный перевод по-прежнему оставляет желать много лучшего.

Опыт развития научно-технического прогресса говорит о том, что прорывной искомый результат в итоге получается, как правило, на стыке разных технологических областей и предметных дисциплин. По всей видимости, проблема «машинного мышления» будет решена ровно тогда, когда мы точно поймём, как именно в процедурном плане работает наше естественное сознание, и когда достоверно сможем узнать, поддадутся ли эти процедуры мышления, проявленные нам в необходимом и достаточном количестве, своей окончательной компьютерной алгоритмизации.
Читать дальше →

Вебинар: Как написать первый тест на Selenium

Время на прочтение1 мин
Количество просмотров16K
Это второй вебинар из цикла бесплатных вебинаров по автоматизации тестирования.
Видеозапись (продолжительность 1 час 11 мин.):

Темы и детали видеозаписи под катом
Читать дальше →

Исследование, спонсируемое Google, борется с поддельными обзорами

Время на прочтение2 мин
Количество просмотров4.8K
Исследователи из Университета штата Иллинойс в Чикаго занялись проблемой поддельных отзывов, которая, по их словам, может серьезно повредить онлайн-бизнесу. Поддерживаемое Google исследование нацелено на поиск организованных групп комментаторов-мошенников, на автоматизацию процесса их выявления и закрытия.

Поддельные рецензенты могут иметь поистине разрушительное влияние на различные интернет-предприятия, но особое значение проблема поддельных пользовательских комментариев приобрела в социально-ориентированных сервисах, таких как Yelp и TripAdvisor, где позитивные (для поддержки бизнеса) и негативные (для вреда конкурентам) комментарии стали настоящей эпидемией.
Читать дальше →

ПочемуSQL?

Время на прочтение4 мин
Количество просмотров14K
Когда мы давали общее описание архитектуры нашего сервиса на нашем англоязычном техноблоге, у читателей, имеющих опыт работы с другими большими сервисами, самыми частыми вопросами были:
  1. Почему ваши структурированные данные хранятся в базах данных с SQL вместо того, чтобы использовать NoSQL-решения?
  2. Почему вы используете собственное аппаратное обеспечение вместо того, чтобы воспользоваться услугами облачного хостинга?

Оба этих вопроса закономерны и интересны. Сегодня мы ответим на первый, а второй прибережем для отдельного поста.

При правильном применении современный механизм хранения данных в ассоциативных массивах (key-value) может обеспечить значительную производительность и масштабируемость по сравнению с единичным экземпляром SQL-сервера. Однако есть несколько причин, по которым мы все же решили размещать все данные вашего аккаунта в MySQL.
Читать дальше →

Женский и мужской взгляд на знакомства

Время на прочтение1 мин
Количество просмотров2.3K

  1. Почему люди не хотят работать, и думают только о сексе? :)
  2. Женщины и мужчины смотрят на сайты знакомств одинаково?
  3. Как проводить eye-tracking'овые эксперименты в полевых условиях?
Отчет об исследовании (англ.) www.tobii.com/eye-tracking-research/global/library/cases/answerlab

Интерактивная визуализация данных Envision.js

Время на прочтение1 мин
Количество просмотров5.3K
Envision.js библиотека для создания быстрых динамических и интерактивных визуализаций данных на HTML5.


Возможности:

1) Визуализация в реальном времени.
2) Временная шкала
3) Визуализация валют ( как на яндексе прям )
4) Поддержка Ajax в интерактиве.
5) Можно побаловаться фракталами.

Читать дальше →

Prototype, proto и оператор new

Время на прочтение3 мин
Количество просмотров84K
В этой статье я кратко в примерах объясню что такое свойства __proto__, prototype и работу оператора new в JavaScript.

Свойство __proto__


Абсолютно любой объект в JavaScript имеет свойство __proto__. Это скрытое системное свойство, и не во всех реализациях языка оно доступно пользователю.
При обращении к любому свойству объекта, оно в первую очередь ищется в самом объекте:
var obj = {ownProperty: 1};
console.log(obj.ownProperty);// 1
Но если его там нет, поиск происходит в свойстве __proto__:
obj.__proto__ = {propertyOfProto: 2};
console.log(obj.propertyOfProto);// 2
Если его нет и там, оно ищется дальше по цепочке:
obj.__proto__.__proto__ = {propertyOfProtosProto: 3};
console.log(obj.propertyOfProtosProto);// 3
Эта цепочка называется цепочкой прототипов (prototype chain).


Читать дальше →

IPv6 — он рядом. Часть 1

Время на прочтение7 мин
Количество просмотров48K


Сегодня идет множество дискуссий насчет сроков по внедрению IPv6 везде и всюду. Но очевидно одно: без телодвижений крупных компаний ничего не выйдет. Google уже использует IPv6, существуют сети, которые предоставляют IPv6, в том числе некоммерческие.
В этом посте я хотел бы рассказать не только как приобщиться к миру IPv6, но и некоторые тонкости, связанные с ним, о которые мне пришлось споткнуться.
В данном случае рассматривается не самый тривиальный сценарий настройки, в котором используется домашний сервер и вы полностью распоряжаетесь выделенным вам адресным пространством.
Читать дальше →

Введение в CSS3 Grid Layout. Работаем с сетками

Время на прочтение10 мин
Количество просмотров113K
Update: Часть сведений в данной статье устарели. Рекомендую свежие материалы на css-live.ru.

Введение


intuition game grid

Модуль CSS3 Grid Layout — это один из самых интересных, на мой взгляд, модулей в семействе CSS3. Официальная история модуля в виде черновика спецификации насчитывает сегодня чуть менее года. О предварительном анонсе еще с названием CSS Grid Alignment на TPAC 2010 Владимир Юнев писал еще в декабре 2010. Надо также отметить, что с чуть другим названием и несколько отличным синтаксисом, но с той же сутью, он был заявлен в качестве WD еще в 2007г. Сегодня работы по доводке модуля идут полным ходом, предварительная реализация уже есть в Internet Explorer 10 и есть надежда, что поддержка новых возможностей также появится в будущих версиях других популярных браузеров.

Зачем нужен Grid Layout?


Задача, которую решает модель CSS3 Grid Layout, очень проста и понятна любому веб-верстальщику (да и не только ему): предоставить удобный механизм расположения контента по виртуальной сетке.

В отличие от старых табличных подходов, основанных на использовании table, здесь не замусоривается семантика документа и представление четко отделено от содержания. В отличие от различных вариаций блочной верстки со становящимися при сколь-нибудь сложной структуре безумными и многоэтажными float'ами в сочетании с вручную просчитанными отступами, здесь описание стилей становится тривиально простым и прозрачным. В отличии от абсолютного позиционирования с привязкой к координатам, здесь сохраняется гибкость. В отличие от популярных сегодня css/js-библиотек для разметки по сетке путем указания соответствующих классов (взять хоть те же bootstrap или yui css grids), здесь не замусоривается привязка классов.

Сплошное удовольствие! Осталось только дождаться широкой поддержки :) Впрочем, если вы планируете делать приложения в стиле Metro для Windows 8 на html/js, ключевые возможности, описываемые в модуле CSS3 Grid Layout, уже работают — и можно двигаться вперед, используя удобные и практичные механизмы.
Читать дальше →

Система мониторинга мнений методом поточечной взаимной информации

Время на прочтение4 мин
Количество просмотров6.1K
Здравствуйте.
Если вы занимаетесь DataMining, анализом текстов на выявление мнений или вам просто интересны статистические модели для оценки эмоциональной окраски предложений — эта статья может оказаться интересной.
Далее, чтобы не тратить время потенциального читателя впустую на груду теории и рассуждений, сразу краткие результаты.
Реализованный подход работает приблизительно с 55% точностью в трех классах: негативный, нейтральный, позитивный. Как говорит Википедия, 70% точность приблизительно равна точности человеческих суждений в среднем (в силу субъективности трактований каждого).
Следует отметить, что существует немало утилит с точностью выше полученной мной, но описанный подход, можно достаточно просто усовершенствовать (будет описано ниже) и получить в итоге 65-70%. Если после всего вышеизложенного у вас осталось желание читать — добро пожаловать под кат.
Читать дальше →

Smart pointers для начинающих

Время на прочтение6 мин
Количество просмотров208K
Эта небольшая статья в первую очередь предназначена для начинающих C++ программистов, которые либо слышали об умных указателях, но боялись их применять, либо они устали следить за new-delete.
Читать дальше →

Анализируем Twitter при помощи R

Время на прочтение4 мин
Количество просмотров9.5K
Здравствуйте, уважаемое хабрасообщество!
На Хабре уже несколько раз говорили о возможностях среды R, но я считаю, что дополнительная информация станет полезной, так как R — это очень интересный и мощный инструмент, который может быть применен в самых разных областях. Я попробую это доказать на примере анализа появления одного из трендов Twitter. Для этого нам понадобится библиотека twitteR, которая позволяет работать с Twitter через API. Но для начала расскажу подробнее об R.
Читать дальше →

EvoJ — удобный фреймворк для генетических алгоритмов

Время на прочтение7 мин
Количество просмотров5.7K
Здравствуйте, коллеги!

Здесь часто появляются статьи на тему генетических алгоритмов, разрешите и мне внести свои пять копеек.

Вот уже пару лет я виде хобби разрабатываю Java-фреймворк EvoJ посвященный ГА. Когда я только начинал работу с ГА самое большое неудобство представляла необходимость векторизации переменных составляющих решение, поэтому в своем фреймворке я постарался сделать векторизацию переменных прозрачной для программиста, возложив всю грязную работу на плечи фреймворка. Кроме того, так как ГА очень хорошо поддается распараллеливанию, я постарался сделать переход к многопоточности не менее легким.
Читать дальше →

Информация

В рейтинге
Не участвует
Откуда
Оренбург, Оренбургская обл., Россия
Дата рождения
Зарегистрирован
Активность