Как стать автором
Обновить
2
0
Иван @Pentusha

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

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

Сниффер витой пары из Wi-Fi роутера

Время на прочтение2 мин
Количество просмотров89K
image

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

Читать дальше →
Всего голосов 188: ↑172 и ↓16+156
Комментарии122

Оптимальная длина и состав пароля

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

Введение.



На фоне многочисленных постов о паролях решил провести небольшое исследование.

В настоящее время парольная защита является самым распространённым и, к сожалению, самым ненадёжным методом защиты. Существует много статей на тему «Как составить стойкий пароль», но мне не встречались статьи, где приводятся реальные данные о надёжности паролей.

В исследовании проводится оценка надёжности паролей противостоять атакам грубой силы. Наиболее эффективный метод грубой силы при переборе паролей для хеш-функций является составление радужных таблиц.

Расчёты проводятся для трёх хеш-функций md5, sha1 и sha2 (модификация sha512). В расчёт не берутся данные о коллизиях в данных хеш-функциях, так как с практической точки зрения в реальном подборе пароля они не помогут, да и достойных реализаций в ПО на настоящий время в открытом доступе нет. В исследовании принимают участия пароли длиной 7, 8, 10 и 12 символов трёх различных алфавитов.

Для наглядности результатов приводятся данные о количестве паролей, объёме дискового пространства для хранения радужных таблиц и ориентировочном времени построения радужных таблиц.
Читать дальше →
Всего голосов 126: ↑94 и ↓32+62
Комментарии121

Самые интересные публикации 2009 года о Delphi

Время на прочтение5 мин
Количество просмотров6.9K
В этом году в русскоязычном Delphi-сообществе было опубликовано огромное количество материалов. Можно было запросто пропустить что-то интересное. Я постарался собрать в одной публикации ссылки на наиболее интересные публикации 2009 года. Все публикации имеют прямое отношение к Delphi. Получилось довольно много. Большое спасибо любезным авторам!

Читать дальше →
Всего голосов 101: ↑72 и ↓29+43
Комментарии119

Делаем освещение в квартире по датчику движения

Время на прочтение3 мин
Количество просмотров166K
датчик Наверняка все слышали про технологию «умный дом». Одно из самых популярных применений этой технологии в автоматическом освещении — например, включение и выключение света при появлении или уходе людей из помещения. В этой статье хотелось бы показать, что ничего сверхествественного в этом нету, и реализовать эту возможность может любой человек. Итак, попробуем подключить к обычной лампочке Ильича в коридоре датчик движения, и заставим освещение работать в зависимости от наличия людей в помещении.
Читать дальше →
Всего голосов 181: ↑163 и ↓18+145
Комментарии224

Где программе хранить свои настройки?

Время на прочтение2 мин
Количество просмотров33K
Есть программа, которая должна сохранять и загружать некоторые настройки: позицию и размер главного окна программы, идентификатор выбранного языка, время последней проверки обновления. Я задался вопросом — где программа должна хранить свои настройки? Решил собрать информацию на эту тему и поделится ею с вами.

Возможные папки, для хранения настроек и файлов программы:
  • Program Files
  • My Documents
  • User\Application Data
  • User\Local Settings\Application Data
  • All Users\Application data
Читать дальше →
Всего голосов 115: ↑91 и ↓24+67
Комментарии286

Были получены исходники 3300 глобальных интернет-проектов

Время на прочтение5 мин
Количество просмотров276K
Пару месяцев назад нами (2Товарища и Антон Исайкин) была обнаружена уязвимость, присущая в основном большим интернет-проектам (вроде Рамблера, Мейла, Яндекса, Оперы и пр.). Удалось получить доступ к файловым структурам известнейших сайтов (в общей сложности 3320 сайтов) и в ряде случаев их полные исходные коды.
Читать дальше →
Всего голосов 1226: ↑1190 и ↓36+1154
Комментарии909

Как заработать на бесплатном

Время на прочтение4 мин
Количество просмотров16K
Недавно New York Times опубликовал статью о бизнес-модели freemium, рассказав о ней на примере Evernote. Мы подготовили перевод этого текста.

Как заработать на бесплатном
Дэймон Дарлин

Оригинал статьи: http://www.nytimes.com/2009/08/30/business/30ping.html

30ping600_1
Фил Либин (Phil Libin), исполнительный директор Evernote, бесплатного сервиса хранения данных, рассказывает, что сервис работает на разных платформах, в том числе и мобильных.

30ping190_2Бесплатное распространение продукта всегда считалось хорошей маркетинговой идеей. Даже самый наивный потребитель в состоянии оценить возможность заполучить что-то задаром. Слово «бесплатно» стало заклинанием для бизнес-гуру, которые призывают веб-стартапы добиваться быстрого роста, снижая цену большинства своих услуг до нуля.

Но для тех, кто собирается зарабатывать деньги, бесплатные услуги становятся палкой о двух концах. Определенно, это привлекает пользователей, осталось лишь найти тех, кто за все это будет платить. Хотя тысячи бизнесов предлагают бесплатные онлайн-услуги (самые большие из них — сервис Flickr от Yahoo и YouTube от Google), лишь немногие могут заявить о своей прибыльности. (Аналитики утверждают, что ни Flickr, ни YouTube таковыми не являются.) Несмотря на привлекательность подхода, сделать так, чтобы он работал, весьма непросто.

И впрямь, недавно выяснилось, что eBay ищет способ избавиться от Skype. А проект по созданию персональных веб-сайтов Sampa, организованный выходцами из Microsoft, свернут.

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

Запасной вариант — предоставление платного премиального сервиса некоторым клиентам в надежде, что выручка от этих пользователей покроет расходы от всех остальных. Так поступают многие сайты — например, тот же Flickr.

Фред Уилсон (Fred Wilson), венчурный капиталист из Нью Йорка, дал классическое определение этому подходу и даже придумал для него соответствующий термин: «freemium». И он до сих пор продолжает получать восторженную поддержку этой идеи от читателей своего блога, «A VC».

Но остается вопрос: как же все-таки это работает? Фил Либин (Phil Libin), исполнительный директор компании Evernote, стартапа в Маунтин-Вью (Mountain View), штат Калифорния, любезно согласился посвятить меня в финансы своей частной компании и приоткрыть завесу этой тайны.

Читать дальше →
Всего голосов 61: ↑54 и ↓7+47
Комментарии38

Простой скрипт для рассылки СМС

Время на прочтение1 мин
Количество просмотров8.6K
Я продолжаю изучать Питон. Язык красивый, меня радует что когда мой коллега — непрограммист, садится за мой код он его может прочитать и понять. Встала задача сделать СМС оповещение клиентов (ну о просрочке, новых услугах итд). Мы купили GSM модем Teleofis. Для работы с ним пошукали проги, не особо нашли, а уж бесплатного и тем более. Пришлось открыть мануалы и написать простенькую прогу под Винду, которая открывает COM порт, на котором сидит модем и пишет в него AT команды.

Сам скрипт требует pySerial для работы под виндоус.

Чтобы запустить скрипт, надо воткнуть в комп модем, установить дрова, открыть файлик sms_sender.py и отредактировать там строку 90:

a = Sender(('790864x0807',),u"Признанный критикой всего мира величайшим эпическим произведением новой европейской литературы, «Война и мир» поражает уже с чисто технической точки зрения размерами своего беллетристического полотна. Только в живописи можно найти некоторую параллель в огромных картинах Паоло Веронезе в венецианском Дворце дожей, где тоже сотни лиц выписаны с удивительною отчётливостью и индивидуальным выражением[источник не указан 91 день].",1,115200,2)

* This source code was highlighted with Source Code Highlighter.

Первый параметр — кортеж адресатов, второй — текст сообщения. Третий — номер порта. Остальные нам не нужны — это скорость и таймаут ожидания ответа.
А потом сделать из Командной строки вызов команды
python sms_sender.py

Вы увидите:
more PDU to go…
more PDU to go…


Это скрипт рассылает части вашего сообщения адресатам. Вот и все.
Сам скрипт доступен по ссылке. Ограничений на его использование никаких, он сильно простой и маленький чтобы как-то ограничивать его использование.
Всего голосов 43: ↑36 и ↓7+29
Комментарии21

Веб-аналитика: анализируй это! Часть 1. Вступление

Время на прочтение3 мин
Количество просмотров27K
Часть 1. Вступление.
Часть 2. Сбор данных.
Часть 3. Базовые метрики.
Часть 4. От статистики к аналитике
Часть 5. Разделяй и думай
Часть 6. Action!
Счетчики посещаемости знакомы всем пользователям интернета уже много лет. Многие владельцы сайтов ставят сразу несколько иконок разных счетчиков, и день за днём цифры на них растут и всё больше радуют хозяина.



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

Сейчас большинство успешных коммерческих сайтов уделяет огромное внимание сбору и анализу статистических данных. В частности, крупнейший международный онлайн-магазин Amazon.com создал целый культ аналитики.
Читать дальше →
Всего голосов 48: ↑42 и ↓6+36
Комментарии39

Использование метаклассов в Python

Время на прочтение11 мин
Количество просмотров43K
Некоторые средства метапрограммирования не так часто используются в ежедневной
работе, как обычные в ООП классы или те же декораторы. Для понимания же целей
введения подобных средств в язык требуются конкретные примеры промышленного
применения, некоторые из которых и приведены ниже.

Читать дальше →
Всего голосов 72: ↑69 и ↓3+66
Комментарии29

Написание виртуальной файловой системы на c++

Время на прочтение8 мин
Количество просмотров15K
Еще одна моя запись из песочницы, если будет время то переведу остальные части

Это перевод первой части статьи про написание VFS (виртуальной файловой системы) на c++ которую я нашел достаточно давно. Надеюсь вам понравится. :)
Читать дальше →
Всего голосов 19: ↑16 и ↓3+13
Комментарии9

Реализация небольшого асинхронного сервера

Время на прочтение9 мин
Количество просмотров21K
Целью публикации данного топика является представление аудитории Хабрахабра кода небольшого асинхронного сервера, написанного на Питоне с использованием практически «голых» сокетов.

Мне приходилось писать достаточно много приложений, работающих в качестве сетевых сервисов. Эти сервисы были написаны на разных языках, под разную нагрузку и каждый раз реализация нового сервиса чем-то отличалась от предыдущей. Под хабракатом я привожу пример довольно удачной, на мой вгляд, реализации «учебного» сервера, сопровождая код своими комментариями по мере необходимости.
Читать дальше →
Всего голосов 46: ↑43 и ↓3+40
Комментарии26

Средневзвешенная система голосования

Время на прочтение3 мин
Количество просмотров3.4K
Вступление. Эту статью написал мой друг — Семён Шторкин, владелец нижегородского сайта-коммьюнити для фотографов (фотогорький). Пока его, к сожалению, нет на Хабре, но попробую этим топиком заработать для него инвайт :)

Добрый день. Хочу поделиться с уважаемым хабрасообществом весьма объективной системой оценок и рейтингов, основанной на средневзвешенной системе с оценками по пятибалльной шкале.
Читать дальше →
Всего голосов 111: ↑107 и ↓4+103
Комментарии61

Полиглоты в продакшн Питона

Время на прочтение15 мин
Количество просмотров7.3K
Сразу, в порядке завлекалочки. Нашей целью будет научиться писать программы-полиглоты, способные интерпретироваться сразу на нескольких языках программирования (одним, «базовым» из которых является Python). При этом, в случае интерпретации на одном из них, программа будет генерировать другую программу, функционально схожую (или даже эквивалентную) той, которая выполняется в случае интерпретации на другом языке.

И самое интересное: подходы, используемые при написании этой программы, будут интересны не столько академически, сколько практически — при разработке программы с использованием этих подходов разработка будет проще и удобнее (хоть поначалу и чуточку непривычно), а программа будет эффективнее, чем без них.

Впрочем, это звучит страшнее, чем является.

Поехали?
Всего голосов 68: ↑60 и ↓8+52
Комментарии20

Взаимодействие между несколькими .bat, мультиплеер на .bat

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

Бат-файлы лишены возможности передавать по сети какую-нибудь полезную информацию друг другу.
Но если очень хочется, то можно
Всего голосов 275: ↑263 и ↓12+251
Комментарии100

Влияние звука на песок

Время на прочтение1 мин
Количество просмотров4.3K
Звук может вдребезги разбить стакан или выбить окна в целом здании! Но оказывается, формирующую силу звука можно легко продемонстрировать…


Использованные видеоролики: 1, 2 и другие
Аудиоряд: Yonderboi — Riders On The Storm (The Doors Remix)
Монтаж и пояснения: www.SmartVideos.ru


Осуществить данный опыт можно и дома. Необходимо закрепить в центре металлический или стеклянный диск и поводить по нему смычком. Можно и просто рассыпать немного тонкого песка на корпус скрипки (или гитары) и слегка, так чтобы песок не рассыпался, провести смычком по одной из струн.
Всего голосов 94: ↑80 и ↓14+66
Комментарии54

0! = 1? или почему факториал нуля равен единице

Время на прочтение2 мин
Количество просмотров232K
Давным давно, еще в классе 10-ом (лет 8 назад) я случайно обнаружил довольно нехитрое объяснение того, почему факториал нуля равен единице.

Я рассказывал про это многим учителям, но никого не торкнуло. Поэтому я просто выложу это знание здесь, а то вдруг кому-то пригодится или наведет на определенные мысли. Сразу скажу я не математик, наткнулся на это случайно, когда игрался с числами. Я тогда даже не знал что такое факториал :)
Перейдем к делу!
Всего голосов 157: ↑126 и ↓31+95
Комментарии80

Простой цифровой генератор сигналов произвольной формы

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


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

Читать дальше →
Всего голосов 64: ↑59 и ↓5+54
Комментарии16

Построение regexp'a по входным строкам S1..SN

Время на прочтение3 мин
Количество просмотров1.9K
Вот совершенно недавно столкнулся с задачкой, по которой не смог накопать не то, чтобы каких либо библиотек, но даже теории или алгоритмов. Т.к. время поджимало, решил сам разбираться с задачей. Написал статью для тех, кто с подобной задачей столкнется в будущем, да и интресна критика. Как бы вы решали подобную задачу?

Итак, задача ...


На входе алгоритма есть набор строк S1..SN. Требуется, по данным строкам построить такое минимальное регулярное выражение R, чтобы R(Si)=true, i [1,N] (N порядка нескольких тысяч).
Требование минимальности — не строгое, и доказывать минимальность построенного regexp'a не требуется. Если строки S1..SN обладают некоторой схожей структурой, то regexp должен выявлять эту структуру. Стандартное задание программисту — в меру конкретизировано, но и с некоторой свободой действий.
Читать дальше →
Всего голосов 44: ↑41 и ↓3+38
Комментарии43

Обслуживание тысяч запросов в секунду на примере XBT Tracker

Время на прочтение5 мин
Количество просмотров8.1K
Недавно проводили тест, результаты которого показали, что одно приложение обрабатывает 2000 запросов в секунду на скромном сервере, где это было не единственной нагрузкой. При этом результат каждого запроса записывается в 3-5 таблиц в MySQL. Честно говоря, меня такой результат удивил, поэтому решил поделиться с хабрасообществом описанием архитектуры этого приложения. Подобный подход применим от баннерных показов до чатов и микроблогов, надеюсь кому-нибудь покажется интересным.

Во-первых, это приложение однопоточное. Всё делается одним процессом, работа с сокетами — неблокирующими epoll/select, никаких ожидающих ввода/вывода потоков (threads). С развитием HTTP, сначала появлением Keep-Alive, затем AJAX и набирающим популярность COMET, количество постоянных соединений с веб-сервером растёт, на нагруженных проектах измеряется тысячами и даже десятками тысяч, и если для каждого создавать свой поток (thread) со своим стеком и постоянно переключаться между ними — ресурсов сервера очень быстро не хватит.

Второй ключевой момент — что один SELECT… WHERE pk in (k1, k2, ..., kN) выполняется быстрее, чем несколько SELECT… WHERE pk=… Выполняя работу с базой данных большими пачками можно уменьшить не только число запросов в секунду, но и общую нагрузку.
Читать дальше →
Всего голосов 69: ↑67 и ↓2+65
Комментарии41

Информация

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