Search
Write a publication
Pull to refresh
59
0
Roman Lugovkin @RomanL

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

Send message

Деривативы на морковках

Reading time8 min
Views160K
carrotДеривативы — это производные финансовые инструменты. Производные они потому, что основываются на каком-то ином активе. Сами по себе деривативы — пустышки, их стоимость определяется ценой базового актива — продукта, ценной бумаги, валюты, долгового обязательства — то есть того, от чего они производны.
Читать дальше →

Чистая прибыль $210 000 на человека

Reading time1 min
Views1.6K
За прошлый год Google зафиксировал прибыль $209 624 из расчёта на каждого сотрудника (20 164 человек), что превышает показатели всех остальных крупных IT-компаний в мире. На втором месте находится Microsoft: по $194 297 на каждого из 91 000 сотрудников. Учитывая, что сотрудников у них в четыре с половиной раза больше, этот показатель можно считать даже более достойным, чем у Google. На третьем месте китайский поисковик Baidu (см. табл.).



Если считать не прибыль, а валовый доход, то он в Google и вовсе превышает миллион долларов на каждого: $1 080 914. Больше миллиона на человека получила только ещё одна компания — Apple.

В списке крупнейших компаний минимальный показатель прибыли на сотрудника продемонстрировала Sun. Неудивительно, что эта фирма скоро переходит в чужую собственность. Кстати, её новый владелец Oracle держится в середнячках.

via Royal Pingdom

directadmin + nginx и о том как их подружить

Reading time4 min
Views1.5K
Как известно, apache хорошая штука, но его тяжеловестность, сильно ограничивает возможности.
Для решения проблемы используется связка frontend + backend. В качестве backend сервера выступает apache, а в качестве frontend сервера, любой другой легковестный. В статье мы рассмотрим связку, в которой nginx выступает в роли вронт-энд сервера.
В интернете полно статей, о том, как настроить nginx, но я не столкнулся ни с одной, как заставить работать nginx вместе с панелью управления directadmin.
Читать дальше →

Теперь будет PGP против ElcomSoft?

Reading time1 min
Views1K
Где-то я такое уже видел. Прямо дежавю какая-то :)

Adobe наехал на ElcomSoft в 2001 году. Поднялась волна протестов «Свободу Дмитрию Склярову». А потом еще и США долго судилось с российской фирмой…

Сегодня узнал, что на ЭлкомСофт наехал PGP. Опять двадцать пять?
Читать дальше →

Новая версия XMIND теперь доступна и в open source!

Reading time2 min
Views4.8K
Когда-то, вместе с одним из номеров журнала «CHIP» я получил годовую лицензию замечательной программы XMind 2008, таким образом, став счастливым обладателем, по-моему, самой лучшей среды для создания/редактирования интеллект-карт и мозгового штурма.

Сегодня на моё мыло пришло письмо, в котором шла речь о новой версии этой замечательной программы. Оказалось, что компания провела полный ребрендинг, а кроме того, уже давно выпустила версии своей утилиты под Linux, Mac и Windows, предоставляя ее в нескольких вариациях: Open Source, Eclipse plugin, Pro и даже Portable!



Что же интересного в новой версии?

svn diff notification

Reading time1 min
Views603
Быстрый трюк для получения уведомлений об изменении в svn
Потребовалось получать уведомления об изменениях в svn.
В svn есть возможность настраивать различные hook'и на различные action'ы.
Простой пример получения уведомлений по e-mail(можно использовать команду mail, но в условиях задачи ее не было, так же не было sendmail и прочего. Вообщем можно сделать как угодно, но это самый простой вариант, который подходил под условия задачи).

#!/usr/bin/perl -w
use Net::SMTP_auth;

my $repos=$ARGV[0];
my $rev=$ARGV[1];
my $change_data=`/usr/local/bin/svnlook diff -r $rev /home/svn/masterpanel/`;

$smtp = Net::SMTP_auth->new('smtp.example.com');
$smtp->auth('CRAM-MD5', 'some_login', 'some_pass');

$smtp->mail('svn@example.ru');
$smtp->to('masters@example.com');

$smtp->data();
$smtp->datasend("Subject: svn.example.com\n");
$smtp->datasend('From: svn@example.com');
$smtp->datasend("\n");
$smtp->datasend("$repos\n");
$smtp->datasend("$rev\n");
$smtp->datasend("$change_data\n");
$smtp->dataend();

$smtp->quit;


Теперь этот скриптик необходимо поместить в /home/svn/masterpanel/hooks/post-commit
Дать ему права на выполнения для пользователя владельца.

IT блоггеры Рунета, где вы?

Reading time2 min
Views13K
Буквально вчера я понял, что кроме Хабра в моем RSS ридере нет ни одного русскоязычного источника IT информации. Несправедливость какая-то, подумал я и принялся составлять список блоггеров, которых было бы интересно почитать и за которыми хотелось бы активно следить. Задача эта, как ни странно, оказалась не из самых простых. Поэтому и обращаюсь за помощью к Хабрачеловекам.

Интерес вызывают специалисты и любители, программисты, дизайнеры, предприниматели и маркетологи, пишущие аналитические статьи, обзоры на айти и околоайти-шные темы, прогнозы и новости. Пусть они будут не особо известными, главное чтобы информация была свежей и интересной. Поэтому если вы ведете IT блог, или следите за интересным IT блогом, пожалуйста, оставьте ссылку на него в комментариях к этому хабратопику (или, если вы не зарегистрированы на Хабре, отправьте URL мне через twitter) — таким образом я смогу составить наиболее полный список самых интересных IT блоггеров рунета и, конечно же, поделиться им со всеми.

Сразу скажу, что лично меня не интересует: блоги с превалирующей информацией на личные темы; переводчики-кросспостеры информации с западных мейнстримовых блогов (TC, Mashable, Technorati и т.п.), ну и наверное всё.

UPD: Огромное спасибо всем, кто прислал линки! Под катом находится лишь малая доля ссылок, присланных хабрапользователями, основные сливки в комментариях
Читать дальше →

Метод представления данных «Лица Чернова» и их развитие с помощью асимметрии

Reading time2 min
Views16K
Лица Чернова (Chernoff Faces) — это схема визуального представления мультивариативных данных в виде человеческого лица. Каждая часть лица: нос, глаза, рот — представляет собой значение определенной переменной, назначенной для этой части (всего 18).

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



В 1981 году Бернард Флури и Ганс Ридвил (Bernhard Flury and Hans Riedwyl) улучшили концепцию и добавили лицам Чернова асимметрию. Таким образом количество переменных увеличилось вдвое — до 36.

Итак, каждое лицо — это массив из 18 элементов, каждый из которых принимает значение от 0 до 1. Значению соответствует внешний вид соответствующей части лица. Параметры исследуемых объектов приводятся к этим значениям. Экстремумы реальных данных будут приняты как 0 и 1. Все остальное — лежащим в этом промежутке. По полученному массиву конструируется лицо.

Описание параметров лица и примеры их использования в моей записи тут
nordisk.pp.ru/design/44

или под катом

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

5 cпособов осуществить агрегацию строк в MS SQL

Reading time3 min
Views15K
Иногда возникает необходимость осуществить агрегацию строк в SQL запросе, то есть, по такому набору данных:
GroupId Item
1 AAA
2 IS
5 OMG
2 WHAT
2 THE
1 This
получить примерно такой:
GroupId ItemList
1 AAA,This
2 IS,WHAT,THE
5 OMG
MySQL, например, для таких целей обладает встроенной функцией GROUP_CONCAT():
SELECT GroupId, GROUP_CONCAT(Item SEPARATOR ",") AS ItemList
FROM Items

В MS SQL Server'e такой функции нету, поэтому приходится извращаться. Перед тем, как приступить, сделаем скрипт для создания тестовой таблицы:
CREATE TABLE Items(GroupId INT, Item NVARCHAR(10))

INSERT INTO Items(GroupId, Item)
SELECT 1 AS GroupId, 'AAA' AS Item
  UNION ALL
SELECT 2, 'IS'
  UNION ALL
SELECT 5, 'OMG'
  UNION ALL
SELECT 2, 'WHAT'
  UNION ALL
SELECT 2, 'THE'
  UNION ALL
SELECT 1, 'This'

Итак, начнем.
Читать дальше →

Протоколы прикладного уровня: Jabber/XMPP часть1

Reading time7 min
Views8.9K
Прочитав статью и испробовав команды, научимся
--Соединяться с Jabber сервером
--Логиниться
--Менять статусы
--Отправлять сообщения
--Отключаться

И все это на чистом XML

В принципе, можно статью назвать «Введение в XMPP» или типа того… Но суть не изменится
Приступим-же!
приступить...

Автоматический отстрел граберов или как избежать автоматического сграбления сайта

Reading time2 min
Views1.1K
Я администратор доски объявлений и видимо усилия по поддержанию уникального контента (TBD – тема отдельного типика) не проходят зря т.к. я заметил нехорошую тенденцию к сграблению объявлений через RSS ленту, разбор html-страниц сайта т.е. контент серым личностям нравиться.

Как знают SEO-шники, подобное дублирование контента может негативно сказаться на ранжировании сайта т.к. чужой сайт может быть будет переиндексирован первым и стало быть будет единственным ревалентным в результатах поиска.

Первый и действенный метод борьбы – посмотреть в ping IP сайта, ворующего контент и заблокировать его, что помогало только первое время. Но иногда мне просто нехватало времени на выявление «воришек», да и некоторые сайты стали добавлять использование прокси-серверов.

Как настоящий программист я принялся искать автоматизированное решение и быстро нашел его. Достаточно вспомнить, что одним из важнейших различий вэб-сервера и компьютера пользователя в сети Интернет является наличие у сервера открытых портов, обслуживаемых HTTP/SMTP/POP-серверами. Т.е. если недопускать копирование контента с IP имеющих открытые наружу порты, то это будет хорошее препятствие.

Чтобы начать выявлять серых личностей и их сайты оказалось достаточно такого PHP-кода:

//$ip – это может быть $_SERVER["REMOTE_ADDR"] и $_SERVER["HTTP_X_FORWARDED_FOR"]
$fp = @fsockopen($ip, 80, $errno, $errstr, 1);
if( $fp !== FALSE )
{
//тут логируем, что данный IP имеет открытый HTTP-порт т.е. вероятно это сервер
}


Следует обратить внимание, что поле HTTP_X_FORWARDED_FOR устанавлиается в случае, если пользователь ходит через обычный прокси. Но это поле может быть и подделкой, поэтому нужно проверять IP как указанное в HTTP_X_FORWARDED_FOR, так и в REMOTE_ADDR.

Поскольку на доске объявлений происходит установка сессии для каждого посетителя, то проверка выполнялась только на 2-м хите для каждого уникального IP.

Пробный запуск скрипта на 1 сутки показал высокую эффективность – 4 сайта-грабителя были выявлены и обезврежены. Отловлено IP с открытым 80-м портов – более 2000! Поэтому для анализа IP использовался WHOIS сервис любезно предоставленный nic.ru и еще один скрипт. Ну что-же, у них защиты от автоматических сканеров нет и хорошо ;)

Теперь все, кто находятся в моем бан-листе получают текст объявления вроде «Данное объявление было незаконно скопировано с сайта xxxx, что является нарушением авторских и смежных прав. Пожалуйста, не пользуйтесь сайтами ворующими контент т.к. такие сайты могут использоваться для распространения скрытых вредоносных программ, а также могут собирать конфиденциальную информацию о вас.» ;)

Однако не стоит просто блокировать все IP имеюшие открытые наружу порты. Оказывается существуют домашние сети, где по 80-му порту открывается статистика прокси-сервиса (да, каждому гостю!), где детально перечислен список любимых сайтов этой аудитории с количеством хитов/Мб и кто сколько тянул…

Дополнительная информация:
  1. Для анализа хождений через прокси-сервера следует анализировать порты – 8080, 1080, 3126.
  2. Поиск дубликатов (имею премиум, личное мнение – сервис очень часто не прав) — http://www.copyscape.com/


Прошу Ваши идеи и комментарии в тред!

Генерация скрипта базы данных по модели данных Entity Framework

Reading time1 min
Views1.3K
В будущей версии редактора моделей Entity Framework в Visual Studio ожидается такая полезная функциональность, как обратная генерация базы данных по модели данных (SSDL — Storage Schema Definition Language). Но пока её нет, можно воспользоваться XSLT-преобразованием, которое поможет получить из XML-описания модели хранилища SQL-DDL код для создания таблиц и связей в БД.

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

Опыт настройки nginx на Debian

Reading time5 min
Views4.9K
Вчерашний вечер я посвятил возне с http-сервером nginx в качестве фронтэнда к apache. Как известно, nginx — легковесный надежный HTTP-сервер, написанный Игорем Сысоевым (сотрудником Rambler). Он отлично подходит для выдачи статических страниц, особенно под нагрузкой. Обычно настраивается связка nginx+apache, в которой nginx обслуживает все входящие на сервер запросы, статические файлы отдает своими силами, а запросы на динамическое содержимое проксирует на apache.

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

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

API Playground

Reading time1 min
Views1.8K
api playground

На прошлой неделе Google официально представил очередную разработку в рамках «20% личного времени» которая вышла за пределы компании. Инженер по разработке Бен Лисбаккен (Ben Lisbakken) создал API Playground, с которым изучение кода для Google Javascript API становится легким, как никогда ранее.

API Playground предоставляет простой и удобный интерфейс написания и тестирования javascript-кода для восьми сервисов Google, использующих API, это: Maps, Search, Feeds, Calendar, Visualization, Language, Blogger, Libraries и Earth. Кроме того новый API Playground скоро станет способом по умолчанию для демонстрации примеров JS-кода. Еще одна хорошая новость заключается в том, что гигант перевел часть исходных кодов под лицензию Apache 2.0 для использования в Playground.

На данный момент на «игровой площадке» (playground) доступно более 170 javascript-шаблонов, начиная от простых списков, слайдшоу основанных на медиа-RSS и заканчивая KML-файлами Google Earth.

Playground отлично подойдет новичкам, желающим узнать немного больше о Google API — кроме понятных примеров использования в API Playground присутствует так же поддержка специалистов.

Google Code Blog via ReadWriteWeb

Универсальные бактерии-производители

Reading time1 min
Views841


Ученые из Genomatica Inc. несколько дней назад рассказали о том, что они сумели вырастить особенный вид бактерий, способный производить пластик без переработки отходов нефтяной промышленности или природного газа.
Маленьким одноклеточным в пробирке необходимо всего лишь чуть больше сахара и воды для выработки 1,4-бутандиол (BDO), который годится для производства всего, начиная от пластиков и полимерных волокон до лекарств.
Как считают сами исследователи, понадобится не более года для того, чтобы натуральный и экологичный процесс стоил дешевле, чем нынешние методы производства. Для этого нужно достигнуть объема в 1,3 млн тонн BDO в год.

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

Ninja Editor

Reading time1 min
Views1K
Здравствуйте. Вы будете смеяться, но я написал маленький текстовый редактор для сайтов. Он совсем маленький и совсем текстовый. Но он мне нравится. Встречайте, Ninja Editor

Ну и картинка для привлечения внимания:


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

What's all this fuss about Erlang?

Reading time5 min
Views5.9K
by Joe Armstrong

Никто не в состоянии предсказывать будущее — но я сделаю несколько обоснованных предположений.

Предположим, что Intel правы, что их проект Keifer выстрелит. Если это случится, то 32-х ядерные процессоры появятся на рынке не позже 2009-2010.

Ничего удивительного здесь нет. Sun уже продает восьмиядерные Niagara с 4-мя «hyperthreads» на каждом ядре, что эквивалентно 32-ум ядрам.

Это разработка, которая осчастливит программистов на Erlang. Они 20 лет ждали этого события, и теперь настало время расплаты.

Хорошие новости для Erlang-программистов:

На N-ядерном процессоре ваша программа будет работать в N раз быстрее.

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

Социальные сети и формирование групп

Reading time9 min
Views4.3K
Примечание: ниже расположен перевод академического исследования «Social Networks And Group Formation», рассматривающего некоторые аспекты выделения групп и формирования связей в социальных сетях.

«Принцип рычага» в действии



Пользователи страдают от избытка информации: по любому вопросу сейчас доступно гораздо больше сведений, чем человек способен воспринять. Как результат, люди опираются на знания других людей. Среди типичных вопросов «как?», «что?» и «почему?» ключевым является вопрос «кто?» (и, соответственно, ответ на него). Это влечет за собой необходимость знакомства и поддержания контакта с людьми, которые может помочь в каждом конкретном случае.

В контексте заявленной проблемы важным становится также понимание образования, развития и использования социальных сетей в интернете. Социальная сеть — это «группа людей (или организаций, или других социальных единиц), связи в которой являются социальными, а именно: дружбой, совместной работой или обменом информации» (Garton и др., 1997). Хотя интернет и является основным источником избыточной информации, он также позволяет пользователю эффективно управлять своими социальными сетями и таким образом получать ту информацию, которая ему необходима.

Эта область знаний находится на пересечении таких наук, как информатика, социология и математика. Ее исследователи изучают использование социальных сетей в общественных и деловых целях при помощи информационных и коммуникационных технологий (information communication technologies (ICTs)), в том числе, интернета. В этот статье рассматривается, как социальные сети, используя преимущества таких технологий — особенно, интернет-технологий, — создаются, развиваются и приносят пользу.

Социальные сети в интернете являются обширным полем для исследовательской деятельности, и любой научный обзор будет так или иначе базироваться на наборе академических публикаций. Данная статья концентрируется на последних исследованиях в области центра сети (centrality), силы силе связей, индивидуальности, доверии, активности и преимуществах. Без сомнения, статья несколько сложна для понимания, но призвана донести до разработчиков несколько полезных идей по реализации веб-приложений, активно использующих социальные сети.

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

Установка Android SDK 1.0 на HTC Touch/Vogue

Reading time3 min
Views5.2K
Давно уже пора счастливым обладателям ряда телефонов от HTC (в частности на процессорах MSM7500, к примеру Touch) начать наслаждаться прелестями Андроида не в эмуляторах, а буквально в своих руках — на экранах своих же телефонов. Как? Совершенно не сложно!
Читать дальше →

BlackHole.js с привязкой к картам leaflet.js

Reading time12 min
Views23K
Приветствую вас, сообщество!

Хочу предложить вашему вниманию, все таки доведенную до определенной точки, свою библиотеку для визуализации данных blackHole.js использующую d3.js.
Данная библиотека позволяет создавать визуализации подобного плана:
картинки кликабельные
image или

Статья будет посвящена примеру использования blackHole.js совместно с leaflet.js и ей подобными типа mapbox.
Но так же будут рассмотрено использование: google maps, leaflet.heat.

Получится вот так =)

Поведение точки зависит от того где я находился по мнению google в определенный момент времени

Посмотрите, а как перемещались вы?...
Детали...

Information

Rating
Does not participate
Location
Владимирская обл., Россия
Date of birth
Registered
Activity