Search
Write a publication
Pull to refresh
39
0

User

Send message

Гадание на информационном шуме

Reading time4 min
Views7.2K
Есть довольно обоснованное мнение, что в будущем человечество рискует захлебнуться в лавине информации, которую само же и производит ударными темпами. И что для дальнейшего нашего развития все большую и большую роль будет играть алкоголь умение управлять этой лавиной. И речь здесь идет не только о разделении потока информации на нужное и ненужное, но и о способах заставить даже «белый шум» приносить пользу.

Шаги в эту сторону делают и ученые из HP Social Computing Laboratory в Пало-Альто, Калифорния. Например, на днях ее сотрудники Ситарам Азур (Sitaram Asur) и Бернардо Хуберман (Bernardo A. Huberman) опубликовали интересную работу. В ее рамках они взялись использовать всем известный Twitter для… предсказания будущего. Правда, недалекого.

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

Celery — распределенная очередь заданий

Reading time3 min
Views86K
На этот раз мы решили рассказать о замечательном продукте, который мы используем в нашей работе. Речь пойдет о Celery — «distributed task queue». Это распределенная асинхронная очередь заданий, которая обладает широким функционалом. В нашем конструкторе сайтов нам часто приходиться запускать асинхронные с точки зрения ответа пользователю задачи. На хабре, к сожалению, не много информации по данному продукту, а он заслуживает отдельного упоминания, это мы и хотим исправить.

Итак, что же умеет Celery:

  • Выполнять задания асинхронно или синхронно
  • Выполнять периодические задания(умная замена crond)
  • Выполнять отложенные задания
  • Распределенное выполнение (может быть запущен на N серверах)
  • В пределах одного worker'а возможно конкурентное выполнение нескольких задач(одновременно)
  • Выполнять задание повторно, если вылез exception
  • Ограничивать количество заданий в единицу времени (rate limit, для задания или глобально)
  • Routing заданий (какому worker'у что делать)
  • Несложно мониторить выполнение заданий
  • Выполнять подзадания
  • Присылать отчеты об exception'ах на email
  • Проверять выполнилось ли задание (удобно для построения Ajax приложений, где юзер ждет факта завершения)

Заинтересовало? Просим под кат.
Читать дальше →

Правильные и неправильные способы позиционирования стартапа относительно конкурентов

Reading time4 min
Views1.5K
Две наиболее значимые ошибки в позиционировании относительно конкурентов — это делать вид, что их нет и уходить в оппозицию со словами, что все конкуренты — идиоты.

Эти ошибки влияют и на дальнейшее позиционирование на рынке и на предложения покупателю, то есть на стратегию стартапа.

Разберем распространенные ошибочные позиции стартапов.

1. Тут нет конкуренции. Приведем несколько фраз стартаперов и то, как их воспринимают инвесторы.

  • «У меня нет конкурентов» — даже если у Вас нет прямых конкурентов, то есть косвенные от «сделаю сам» до других альтернативных вариантов. И если Вы их не рассмотрели, значит Вы не знаете потребителя.
Читать дальше →

Методы применения алгоритма нахождения максимального потока в сети

Reading time7 min
Views48K

Введение


Задача о максимальном потоке является классической и имеет множество применений. Напомню постановку проблемы. Дан взвешенный ориентированный граф с неотрицательными весами (пропускными способностями). Выделены две вершины: исток S и сток T такие, что любая другая вершина лежит на пути из S в T. Потоком назовем функцию F: V x V с такими свойствами
  1. Ограничение пропускной способности. Поток по ребру не может быть больше его (ребра) пропускной способности.
  2. Антисимметричность. Для каждого ребра (u, v): F(u, v) = -F(v, u).
  3. Сохранение потока. Для каждой вершины (кроме S и T), количество входящего потока (отрицательного) равен количеству исходящего потока (положительного). Тоесть, алгебраическая сумма потоков для каждой вершины (кроме S и T) равна нулю.

В этом посте вы можете ознакомиться с реализацией поставленной проблемы.

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

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

Свой Web-PDF принтер за 10 минут

Reading time9 min
Views4.8K


Как потратить совсем немного времени и сделать что-нибудь простое и оригинальное, поражающее своей глобальностью — но абсолютно бесполезное? Очень просто. Давайте сделаем свой принтер.

Нам понадобится (кроме головы и рук) только работающий web-сервер с поддержкой cgi-bin, к которому у нас есть доступ по FTP. Есть такой? Поехали!

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

Обзор on-line сервисов для преобразования формул Latex в картинки

Reading time2 min
Views80K
Иногда требуется вставить формулу в блог или форум, причем сделать это красиво. В статье приведен обзор сервисов предоставляющих такую услугу.
Читать дальше →

Common Errors in English Usage

Reading time1 min
Views4.8K
Знание английского для ИТ специалиста — это одно из важнейших профессиональных качеств. Поэтому процесс изучения английского языка должен быть непрерывным. Для изучения рекомендую сайт Common Errors in English Usage, где собрано много типичных ошибок использования различных слов и выражений.
Читать дальше →

30 комплектов иконок в стиле минимализм

Reading time1 min
Views47K
image

Минимализм — стиль в дизайне, характеризующийся лаконичностью выразительных средств, простотой, точностью и ясностью композиции. Отвергая классические приемы творчества и традиционные художественные материалы, минималисты используют промышленные и природные материалы простых геометрических форм, нейтральных цветов (черный, серый) и малых объемов.
Эти значки идеально подходят для проектов, которые направлены на контент и типографику.
Читать дальше →

О науке Веб и аспирантуре в Англии

Reading time6 min
Views6K
Web ScienceНесмотря на то, что Веб наука (web science) была официально провозглашена еще в «бородатом» 2006-ом, эта тема почти обошла Хабр стороной, не считая мимолетной новости о самом ее появлении.

Пользуясь случаем, хочу рассказать что такое наука Веб, зачем ею заниматься и почему это вообще наука. Заодно постараюсь рассказать о новых возможностях в этом направлении и как ими воспользоваться.

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

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

Распознаем текст с помощью cuneiform

Reading time2 min
Views30K
Поступила задача наладить автоматическое распознание текста с фотографий, т.е. пользователь при загрузке фотогографии на сервер, получает еще и распознанный с нее текст. Сказано — сделано. Было найдено хорошее бесплатное консольное решение — cuneiform.
Читать дальше →

Математические вычисления и графики в LyX с использованием Sage

Reading time4 min
Views5.9K
LyX — это WYSIWYM процессор документов, который прозрачным образом работает с LaTeX. То есть пользователь создаёт в этом процессоре файлы *.lyx, из которых потом создаются и компилируются *.tex.
Sage — это система компьютерной алгебры, работающая прозрачным образом с другими математическими пакетами. Основной интерфейс — командная строка, при этом используется всё многообразие возможностей python. Также доступен web-интерфейс, который можно опробовать на сайте разработчиков.
Совместное использование этих двух разработок открывает интересные возможности. Например, можно создавать отчёты, в которых вычисления, графики и аналитические выкладки будут выполняться автоматически, почти как в маткаде каком-нибудь, но с наглядной структурой LyX, гибкостью python и возможностями вёрстки LaTeX.

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

Срезаем пики с RRD графиков на примере Munin

Reading time3 min
Views5.3K
Любой linux администратор наверняка наблюдал аномальные пики на RRD графиках. Пики появляются вследствие нарушения процесса сбора отслеживаемой величины и портят картину на графике. Это нормальное явление для RRD.

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

image

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

Загрузка нескольких файлов в Django — Multifile upload Django SWFUploader

Reading time9 min
Views7.8K
Django предоставляет отличные средства для быстрого построения back-end без лишних телодвижений. Однако создание на его основе галлереи связано с множеством ручной работы по загрузке каждого файла в отдельности.

Решений у этой проблемы несколько:
  1. загрузка архива и его распаковка на сервере,
  2. использование специального поля,
  3. имитация множественных post-запросов.

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

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

Итак выполним следующие действия.

все 8 шагов

Генератор текста на основе триграмм (python)

Reading time10 min
Views38K
В данной статье описывается как сгенерировать псевдотекст на основе триграммной модели. Полученный текст вряд ли возможно где-либо использовать, тем не менее это неплохая иллюстрация использования статистических методов обработки естественного языка. Пример работы генератора можно посмотреть здесь.

Сухая теория


И так, наша задача сгенерировать текст. Это значит, нам нужно взять слова и выстроить их в определенном порядке. Как определить этот порядок? Мы можем пойти следующим образом: построить фразы, наиболее вероятные для русского языка. Но что значит вероятность фразы языка? С точки зрения здравого смысла это бред. Тем не менее, эту вероятность можно задать формально как вероятность возникновения последовательности слов в неком корпусе (наборе текстов).
Читать дальше →

Автоматическая отсылка анонсов в твиттер

Reading time3 min
Views791
Недавно, при работе над проектом на Джанго, понадобилось автоматически отправлять в твиттер заголовок и укороченную ссылку для публикуемых статей от имени пользователя.

Как оказалось, делается это совсем несложно.

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

Nivo Slider — jQuery Image Slider

Reading time1 min
Views766
Nivo Slider — весьма интересный слайдер картинок.

image

Возможности:
  • 9 эффектов смены картинки
  • простота использования
  • настраиваемые параметры
  • встроенная навигация
  • упакованная версия 5 кб
  • бесплатен, лицензия GPL

По заверениям разработчиков работает в браузерах —
Internet Explorer v7+
Firefox v3+
Google Chrome v4
Safari v4

Проверил — на Opera — также работает.
Пошел прикручивать красавца ;-).

Когда картинка красноречивее 1024 слов – прототипирование с MockingBird

Reading time2 min
Views7.3K
image Для написания ТЗ я задался вопросом поиска простого и удобного средства создания прототипов веб-страниц. Хотелось чего-то бесплатного и в онлайне, некой альтернативы Axure. Такой сервис удалось найти, его я и предлагаю вашему вниманию. Итак, встречайте www.gomockingbird.com – сервис, позволяющий создавать очень красивые прототипы легко и удобно.
Помимо представления самого сервиса, этим постом хотелось также привлечь внимание общественности к полезной практике прототипирования.
Читать дальше →

Настройка резервного копирования Linux-сервера за 5 минут

Reading time3 min
Views66K
Передо мной возникла необходимость настроить резервное копирование на новом Linux-сервере, задачка эта оочень важная, но уж больно скучная: нужно написать и отладить скрипты, которые будут архивировать нужные папки (причем желательно делать инкрементальные архивы), базы данных, хранилища subversion, а затем переносить эти архивы на удаленный сервер. По этому я попробовал нагуглить готовое решение для этой задачки и в результате наткнулся на backup-manager — замечательный опенсорсный набор bash-скриптов, позволяющих:
  • архивировать любые папки, в том числе и создавать инкрементальные архивы. В конфиге просто указывается список директорий, которые должны быть скопированы, а также «черный список» файлов, которые копироваться не будут.
  • делать резервное копирование баз данных MySQL. В конфиге указываются логин и пароль mysql-юзера, имеющего доступ к базам, а всю остальную работу backup-manager делает сам.
  • делать резервное копирование svn-репозиториев, причем бэкап делается не копированием папки с хранилищем, а с помощью команды svnadmin dump.
  • шифровать архивы.
  • копировать созданные архивы на удаленные сервера по FTP, SSH или (это самая важная для меня фича) в хранилище Amazon S3, а также записывать их на DVD.

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

Простой и эффективный метод отразить http DDoS от 50мбит с помощью nginx и iptables

Reading time7 min
Views67K
Здравствуй, Хабр!
Предлагаю твоему вниманию простой и в то же время эффективный метод борьбы с http DDoS. На основе сервера Xeon 2.5GHz / 4Gb RAM / SAS можно отражать атаку примерно до 300 Мбит/с (значение получено методом экстраполяции).

Способ реализация

Производится тонкая настройка параметров системы. Так что север будет способен выдерживать больше подключений от ботнета, чем канал до сервера сможет пропустить.

Область применения

Борьба с Http DDoS на выделенном сервере или ВПС. Максимальная возможная мощность сдерживания DDoS атаки ограничивается физическими возможностями сервера и пропускной способностью канала.

SEO под DDoS-ом

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

Стоимость и эффективность

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

Мгновенное сообщение из консоли в jabber

Reading time2 min
Views18K
xmpp logoНередко перед системными администраторами встает задача оповещения себя и коллег о каких-либо событиях на сервере, будь то отчет об успешных входах по ssh, резко возросшая нагрузка, падение сервиса, сообщение о переключении на резервное питание или вскипевшем чайнике.
Чаще всего такая задача решается, например, отправкой почтового сообщения. Но нельзя гарантировать, что сообщение, во-первых, прийдет вовремя, а во-вторых, что его сразу прочтут. Тогда, подумает администратор, будем использовать IM. Но как? Держать, например, centerim постоянно открытым в screen? Согласитесь, не самый радужный вариант.
На выручку к нам спешит чип и дейл открытый протокол XMPP. Написано множество расширений к популярным языкам и примеров кода, позволяющих отослать сообщение кому требуется, и отослать его быстро.
Пример такого кода я и приведу.
Читать дальше →

Information

Rating
Does not participate
Location
London, England - London, Великобритания
Date of birth
Registered
Activity