Pull to refresh
0
Karma
0
Rating

Удаленный торрент клиент (transmission-daemon+firefox plugin+php)

Decentralized networks
Давно уже зрела мысль поставить на домашнем linux сервере торрент клиент, да не простой а максимально удобный для удаленного использования. Простого web интерфейса для этого было не достаточно, хотелось чего-то более удобного.

После долгих поисков в интернете, нашел интересную вещь. Плагин к firefox позволяющий в 2 клика мышкой добавить torrent фаил к списку загрузок transmission. Решено было попробовать.

Читать дальше →
Total votes 18: ↑14 and ↓4 +10
Views7.1K
Comments 40

Собираем тихий и вместительный домашний сервер

DIY
image
Задача: собрать малогабаритный домашний сервер с четырьмя 3,5-дюймовыми HDD, по возможности тихий. Служить будет в качестве NAS, backup-сервера и торрентокачалки.

Решение
Читать дальше →
Total votes 107: ↑100 and ↓7 +93
Views36.4K
Comments 164

Прикручиваем django-registration

Django
Нужно было прикрутить регистрацию на сайт. Вспомнил про django-registration (классический django reusable app). Первое, что удивило — в исходниках не было шаблонов. Пришлось немного покопаться в интернете, поискать ответы на вопросы и поделиться результатом.
Читать дальше →
Total votes 34: ↑30 and ↓4 +26
Views52.1K
Comments 53

Ошибки конфигурирования nginx (или как правильно писать рерайты)

Nginx
Привет, хабралюди!

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

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

Ошибка номер 1, самая фатальная.
Total votes 92: ↑88 and ↓4 +84
Views90.4K
Comments 56

6 простых способов увеличения фрилансерской продуктивности

Freelance
Translation
Лучшее в фрилансерской работе это то, что вы свободны в создании вашего собственного графика и правил. Однако это может быть и плохим фактором. Без нормально структурированного офисного пространства многие фрилансеры в конце дня могут задуматься – куда же делось все их время. Может быть трудно получить максимальную пользу от всего рабочего дня. Чтобы помочь таким фрилансерам, мы хотим представить некоторые простые пути для увеличения продуктивности.
Идем дальше...
Total votes 82: ↑55 and ↓27 +28
Views1.2K
Comments 58

Сравнение эффективности способов запуска веб-приложений на языке Python

Python
Последнее время в области веб-разработок стал набирать популярность язык программирования Python. Однако, массовому распространение Python мешает проблема эффективного запуска приложений на этом языке. Пока, в большинстве случаев, это удел выделенных или виртуальных серверов. Модульные языки в отличии от монолитного в базовой функциональности php на каждый запрос подгружают как минимум runtime-библиотеку, а как максимум — ещё несколько десятков запрашиваемых пользователем модулей. Поэтому классический подход наподобие mod_php для Python и Perl не очень уместен, а держать приложение постоянно в памяти было дороговато. Но время движется, техника стала мощнее и дешевле, и уже достаточно давно можно спокойно говорить о постоянно запущенных процессах с приложением в рамках массового хостинга.

О чём тут

Время от времени, в сети появляются различные предложения как запустить приложение на Python. Например, недавно хостинг Джино уникально поправил mod_python и предложил хостинг именно с его помощью. Следом за ним, некий хостинг Locum вообще отринул mod_python с его безопасностью (создаётся впечатление, что суть самобытная безопасность — это единственная проблема АйТи на пути к нирване) и провёл победоносное тестирование modwsgi против fastcgi. Комьюнити же, судя по проведённому мною поиску, разрывается между mod_python и FastCGI. Причём, FastCGI обычно имеется ввиду тот, что идёт в поставке Django — flup. Являясь популярным хостингом Python-приложений, мы не смогли пройти мимо и решили внести свою лепту в эту священную войну.
Читать дальше →
Total votes 57: ↑49 and ↓8 +41
Views14.5K
Comments 91

Nginx + Symfony. Создаем виртуальные хосты автоматически

Nginx
Давно использую symfony в роли фреймворка php. В роли веб сервера nginx + php-fpm, заметил что многие не используют замечательной вещи, которую умеет nginx.

Ниже описанный скрипт, подходит как раз для проектов написанных на symfony в принципе для любых проектов, но данный пример лично я использую для symfony. Создавать виртуальные хосты без рукаприкладства! ;)

Допустим у вас есть директория с проектами — /var/www/git/… Условие что директории проектов мы называемаем также как и хосты. Например /var/www/git/sait.ru. (если вы хотите что бы и www. работал, то достаточно просто сделать симлинк на данную папку (ln -s… )).
Итого: достаточно только создать хост в /etc/hosts и зарелодить nginx. Он сам подхватит проекты лежащие в вашей рабочей директории.
Читать дальше →
Total votes 30: ↑23 and ↓7 +16
Views6.6K
Comments 27

Верни мои деньги, банкомат

Information Security
Бывает такое, что привычная, казалось бы, вещь, встречается с такой изюминкой, после которой начинаешь смотреть на эту вещь совершенно иначе. Так случилось и у меня… пару лет снимал деньги с карточки в сотне мест и бед не знал… а тут приехал в один городок и в первом же банкомате мне повстречалась эта самая изюминка. Причем место и обстоятельство были такими, что за пару мгновений пищи для размышления и впечатлений накопилось недели на две вперед.


Читать дальше →
Total votes 458: ↑434 and ↓24 +410
Views68.7K
Comments 250

Управление ботнетом через Твиттер

Information Security
На Хабре было уже много топиков, посвящённых техническим аспектам работы ботнетом. Как известно, стандартный ботнет состоит из заражённых компьютеров (зомби) и управляющих серверов (C&C). Связь между ними поддерживается по самым разным протоколам: от IRC до P2P и HTTP. Однако на последней хакерской конференции Defcon был продемонстрирован ещё один интересный способ управления ботнетом — через твиттер.

Концепция проста до гениальности. Создаётся аккаунт на твиттере (новые аккаунты могут создаваться постоянно по заданному алгоритму, чтобы избежать блокировки) и твиттербот, который подписывается на него и воспринимает все твиты как команды на исполнение. Например, твит “cmd: look at 1.2.3.4” может запускать DDoS-атаку на адрес 1.2.3.4.

На Defcon'е был продемонстрирован в действии твиттербот KreiosC2, который реально может использоваться для управления ботнетом. Среди поддерживаемых фич — динамическое изменение языка управления (чтобы избежать фильтрации в твиттере), отсылка команд в закодированном (base64) и/или зашифрованном виде.


Читать дальше →
Total votes 81: ↑73 and ↓8 +65
Views1.6K
Comments 27

Обзор литературы по Data Mining

Data Mining
Добрый день!

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

Читать дальше →
Total votes 54: ↑50 and ↓4 +46
Views62K
Comments 22

Типограф (плагин к редактору FCK)

Typography
(Пора выйти из тени)
О моем плагине уже писал товарищ
Теперь можно типографировать 4-мя типографами.
К уже имеющимся
rmcreative.ru/article/programming/typograph, typograf.ru,
Типограф студии Артемия Лебедева.
Добавил ещё один off-line типограф — студии Евгения Муравьева.

Все типографы настроены на работу с UTF-8.

Страница — Типограф для FCKEditor

Плагин делался первоначально для себя и так как к посту не было ни одного коммента, то и не правился.
Типограф для FCK.
Типограф для FCK.Форма типографирования
Total votes 48: ↑39 and ↓9 +30
Views1.9K
Comments 36

Одно слово для выпускника: статистика (перевод)

Data Mining
Translation
For Graduates, Just One Word: Statistics

 

Оригинал

Взял на себя смелость перевести интересную статью из The New York Times.


 

Закончив Гарвард по специальности  “Археология и антропология”, Кэрри Граймс изучала виды поселений Майя, отмечая на карте места, где были найдены  артефакты. Но потом ее увлекло то, что она называет “все эти математические и компьютерные штуки”, которые были частью ее работы.

Читать дальше →
Total votes 60: ↑52 and ↓8 +44
Views2.4K
Comments 34

Очищаем веб-страницы от информационного шума

Data Mining
Приветствую всех!

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

Будем очищать веб-страницы от «информационного шума».

Читать дальше →
Total votes 58: ↑49 and ↓9 +40
Views3.2K
Comments 33

TAG_ADD Plugin

jQuery
Привет, %username%
Как-то раз мне пришлось писать форму для добавления постов в блог. Помимо стандартных полей (название, дата, текст и.т.д.) необходимо было привинтить юзабельную форму добавления тегов.
Т.к. я кодю в jQuery, то и выбор был однозначным.
Вот необходимые задачи, которые я поставил перед собой:
  1. Легко в настройке
  2. Все теги храняться в одном файле (в кэше)
  3. Минимальная нагрузка на сервер и клиента
  4. Список тегов — подсказок открывается только для выбранного запроса на определенный тег.

Инструкция, ссылки и.т.д.
Total votes 55: ↑50 and ↓5 +45
Views861
Comments 40

«Кредитные хакеры»: методика банковских манипуляций

Information Security
Продолжаем освещать самые интересные доклады с хакерской конференции Defcon. Кроме сугубо технических тем, там обсуждали и другие темы, не имеющие прямого отношения к IT. Например, технологии махинаций с получением банковских кредитов. Подробнейший доклад (полный текст) на эту тему представил известный специалист Кристофер Согоян (Christopher Soghoian). Именно его квартиру за подобные выходки в 2006 году обыскивало ФБР (в тот раз он сделал сайт, помогающий распечатать фальшивые авиабилеты, ничем не отличающиеся от настоящих).

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

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

Данный способ могут использовать граждане с высоким кредитным рейтингом. Если прокачать рейтинг до приемлемого уровня (это довольно несложно), то потом можно в один момент завести карточки с совокупным лимитом на сотни тысяч долларов, воспользоваться бонусами на открытие карточки, а также получить кредит с нулевой процентной ставкой (это спецпредложение на 12-18 месяцев для погашения старых долгов, практикуется почти во всех банках для переманивания клиентов: кредитный хакер может вместо погашения долгов весь кредитный лимит положить на депозит).
Читать дальше →
Total votes 60: ↑52 and ↓8 +44
Views5.9K
Comments 31

Анализ рыночной корзины и ассоциативные правила

Data Mining
В продолжении темы о Data Mining поговорим о том, с чего все начиналось. А начиналось все с анализа рыночной корзины (market basket analysis).

Из глоссария BaseGroup:

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

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

Читать дальше →
Total votes 35: ↑31 and ↓4 +27
Views25K
Comments 11

Поиск нечетких дубликатов. Алгоритм шинглов для веб-документов

Algorithms
Ранее я показал элементарную реализацию алгоритма шинглов, позволяющую определять, являются ли два документа почти дубликатами или нет. В этот раз я поясню реализацию алгоритма, описанную Зеленковым  Ю. Г. и Сегаловичем И.В. в публикации «Сравнительный анализ методов определения нечетких дубликатов для Web-документов».
Этим я начинаю серию из трех теоретических статей, в которых постараюсь доступным языком описать принцип алгоритмов шинглов, супершинглов и мегашинглов для сравнение веб-документов.
Читать дальше →
Total votes 55: ↑53 and ↓2 +51
Views38.3K
Comments 103

Кешируем блоки HTML при помощи nginx

Nginx
Не секрет, что пользователи любят, когда контент на сайте обновляется чаще, чем раз в год. Эту любовь пользователей к динамическим страничкам разделяют и поисковики. Google, например, умеет определять наличие обновляющихся блоков на страничке и добавляет ей немного кармы (читай, PR).

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

продолжение
Total votes 81: ↑80 and ↓1 +79
Views6.7K
Comments 60

AMQP по-русски

Website development
Сегодня довольно мало информации о протоколе AMQP (Advanced Message Queueing Protocol) и его применении, особенно на русском языке. А вообще это — замечательный, уже достаточно широко поддерживаемый открытый протокол для передачи сообщений между компонентами системы с низкой задержкой и на высокой скорости. При этом семантика обмена сообщениями настраивается под нужды конкретного проекта. Такие решения существовали и ранее, но это первый стандарт, для которого существует большое количество свободных реализаций.

Основная идея состоит в том, что отдельные подсистемы (или независимые приложения) могут обмениваться произвольным образом сообщениями через AMQP-брокер, который осуществляет маршрутизацию, возможно гарантирует доставку, распределение потоков данных, подписку на нужные типы сообщений. В качестве классических примеров обычно приводятся финансовые приложения, связанные, например, с доставкой потребителям информации о курсах ценных бумаг в режиме реального времени, также возможно RPC-взаимодействие двух подсистем, которые не имеют связи друг с другом (взаимодействие через общий протокол AMQP) и так далее и тому подобное.

Сегодня тема доставки информации в реальном времени является крайне актуальной (достаточно вспомнить хотя бы Twitter, Google Wave). И здесь системы передачи сообщений могут служить внутренним механизмом обмена данными, который обеспечивает доставку данных (изменений данных) клиентам.

Я не ставлю своей целью сегодня рассказать о том, как писать приложения для AMQP. Хочу лишь немного рассказать о том, что это совсем не страшно, не очень сложно, и действительно работает, хотя стандарт находится еще в развитии, выходят новые версии протокола, брокеров и т.п. Но это уже вполне production-quality. Расскажу лишь базовые советы, чтобы помочь “въехать” в протокол.
Читать дальше →
Total votes 35: ↑34 and ↓1 +33
Views65.3K
Comments 31

Information

Rating
5,877-th
Location
Россия
Registered
Activity