Обновить
0
Nickolay Ginsburg@GiK0read⁠-⁠only

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

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

Cжатие и улучшение рукописных конспектов

Время на прочтение9 мин
Охват и читатели39K
Я написал программу для очистки отсканированных конспектов с одновременным уменьшением размера файла.

Исходное изображение и результат:


Слева: исходный скан на 300 DPI, 7,2 МБ PNG / 790 КБ JPG. Справа: результат с тем же разрешением, 121 КБ PNG [1]

Примечание: описанный здесь процесс более-менее совпадает с работой приложения Office Lens. Есть другие аналогичные программы. Я не утверждаю, что придумал нечто радикальное новое — это просто моя реализация полезного инструмента.

Если торопитесь, просто посмотрите репозиторий GitHub или перейдите в раздел результатов, где можно поиграться с интерактивными 3D-диаграммами цветовых кластеров.
Читать дальше →

Математическая модель тепловыделяющего элемента ядерного реактора

Время на прочтение10 мин
Охват и читатели25K


Введение


Тепловыделяющий элемент (ТВЭЛ) — главный конструктивный элемент активной зоны гетерогенного ядерного реактора, содержащий ядерное топливо [1].

В ТВЭЛах происходит деление тяжелых ядер урана 235 или плутония 239, сопровождающееся выделением тепловой энергии, которая затем передаётся теплоносителю.

ТВЭЛ должен обеспечить отвод тепла от топлива к теплоносителю и препятствовать распространению радиоактивных продуктов из топлива в теплоноситель.

Поэтому расчёт температурных полей в ТВЭЛах является важной задачей проектирования ядерного реактора.
Читать дальше →

Классификация музыкальных композиций по исполнителям с помощью Скрытых Марковских Моделей

Время на прочтение8 мин
Охват и читатели11K
image

Скрытые марковские модели (Hidden Markov Models) с давних времен используются в распознавании речи. Благодаря мел-кепстральным коэффициентам (MFCC), появилась возможность откинуть несущественные для распознавания компоненты сигнала, значительно снижая размерность признаков. В интернете много простых примеров использования HMM с MFCC для распознавания простых слов.

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

Разработка алгоритма движения лифтов

Время на прочтение7 мин
Охват и читатели41K

image
© Клип "Gangnam Style"


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

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

Социальная инженерия как метод атаки

Время на прочтение14 мин
Охват и читатели31K
«Only for fun» — такой девиз мы часто использовали, атакуя какие-либо системы. За довольно короткий период своей деятельности скопилось большое количество материала. Передо мной встала задача, как его упорядочить. Целью данной статьи не является обучение взлому. Это просто истории, в которых лишь поверхностно описывается атака методом социальной инженерии. В основном, это взлом каких-либо веб-систем, в которых важную роль играет человеческий фактор. Сама концепция, что можно взломать что-то без единой строчки кода, делает взлом системы интересным и уникальным. Социальная инженерия – это не просто наука. Нет единой универсальной схемы взлома этим способом. В каждом отдельном случае хакер разрабатывает собственный путь к достижению конкретного результата.
Данная статья носит исключительно ознакомительный характер. Напоминаем, что намеренный взлом систем чреват правовыми последствиями.

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

CoffeeMiner: взлом WiFi для внедрения криптомайнера в HTML-страницы

Время на прочтение7 мин
Охват и читатели31K
Предупреждение: эта статья и проект имеют исключительно образовательные цели.

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

Цель этой статьи — объяснить, как провести атаку MITM (человек посередине) для внедрения определённого JavaScript-кода в страницы HTML, чтобы заставить все устройства, подключённые к WiFi, майнить криптовалюту для злоумышленника.

Задача состоит в создании скрипта, который проводит автономную атаку в сети WiFi. Это то, что мы назвали CoffeeMiner, поскольку атаки такого типа можно проводить в кафе.
Читать дальше →

Об одном способе защиты исходников Python-программы

Время на прочтение9 мин
Охват и читатели109K

Как всё начиналось


Однажды мне пришлось участвовать в разработке одного небольшого проекта для научных расчётов, который разрабатывался на языке программирования Python. Изначально Python был выбран как удобный и гибкий язык для экспериментов, визуализации, быстрого прототипирования и разработки алгоритмов, но в дальнейшем стал основным языком разработки проекта. Надо заметить, что проект был хоть и не большим, но довольно насыщенным технически. Для обеспечения требуемой функциональности, в проекте широко применялись алгоритмы теории графов, математическая оптимизация, линейная алгебра и статистика. Также использовались декораторы, метаклассы и инструменты интроспекции. В процессе разработки пришлось использовать сторонние математические пакеты и библиотеки, например, такие как numpy и scipy, а также многие другие.

Со временем стало ясно, что переписывать проект на компилируемом языке слишком затратно по времени и ресурсам. Скорость работы и потребление памяти не являлись критичными показателями в данном случае и были вполне приемлемыми и достаточными. Поэтому было принято решение оставить всё как есть, и продолжить разработку и поддержку проекта на языке Python. К тому же, документация по большей части уже была написана с использованием Sphinx.

Проект являлся библиотекой, функции которой использовались в одном из модулей расширения в крупном программном комплексе. Программный комплекс был написан на C++, являлся коммерческим продуктом, имел защиту с аппаратным ключом и поставлялся клиентам без предоставления исходных кодов.

Здесь сразу обозначилась новая проблема: как защитить исходные коды нашей Python-библиотеки? Может быть, в ином случае никто бы не стал этим заниматься, я бы уж точно, но в библиотеке были реализованы некоторые ноу-хау, и руководители проекта не хотели, чтобы данные наработки попали к конкурентам. Так как я был одним из исполнителей, мне пришлось озаботиться данной проблемой. Далее я постараюсь рассказать об основной идее, что из этого вышло, и как нам удалось скрыть Python-исходники от лишних глаз.
Читать дальше →

Основы языка программирования Python за 10 минут

Время на прочтение9 мин
Охват и читатели1.5M
Python Logo

На сайте Poromenos' Stuff была
опубликована статья, в которой, в сжатой форме,
рассказывают об основах языка Python. Я предлагаю вам перевод этой статьи. Перевод не дословный. Я постарался подробнее объяснить некоторые моменты, которые могут быть непонятны.

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


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

Учим Python качественно

Время на прочтение4 мин
Охват и читатели1.4M
Здравствуйте всем!

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

Удобочитаемый синтаксис, прост в обучении, высокоуровневый язык, Объектно-Ориентированый язык программирования (ООП), мощный, интерактивный режим, масса библиотек. Множество иных плюсов… И это всё в одном языке.
Для начала окунёмся в возможности и узнаем, что же умеет Python?
Читать дальше →

Python, под пиратским флагом

Время на прочтение8 мин
Охват и читатели57K
image Йо-хо-хо, хабровчане!

Пока IT сообщество увлеченно наблюдает за криптовалютами и их добычей, я решил помайнить то, что майнилось задолго до того, как крипта и все связанное с ней стало мэйнстримом. Речь конечно же об игровом золоте в ММО играх.

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

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

Обзор литературы по языку Python для начинающих

Время на прочтение4 мин
Охват и читатели133K
Очень часто можно увидеть вопросы на том же тостере: «А какую книгу взять книгу, чтобы выучить технологи Х», и естественно в комментариях идет большое число мнений и большое число различных книг. В данной теме, я сделаю обзор самых популярных книг по Python для начинающих программистов, и дам четкое мнение – нужно ли их читать или нет (субъективно).

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

Генерируем заголовки фейковых новостей в стиле Ленты.ру

Время на прочтение11 мин
Охват и читатели33K
Сравниваем 2 подхода к генерации текста c помощью нейронных сетей: Char-RNN vs Word Embeddings + забавные примеры в конце.
Читать дальше →

BitTorrent Tracker на C#

Время на прочтение6 мин
Охват и читатели27K
Долгое время я искал в сети пример простейшего tracker-а на C#, но, к сожалению, мои поиски успехом не увенчались. Поэтому я решил попробовать себя в написании tracker-а на C#, а получив более-менее рабочую версию — поделиться опытом ее создания со всеми. А заодно и получить как можно больше советов по ее усовершенствованию.

Но давайте начнем с начала…
Читать дальше →

История The Pirate Bay

Время на прочтение4 мин
Охват и читатели51K


На днях проект The Pirate Bay отметил свой 10-летний юбилей. Основанный в 2003 году группой хакеров и активистов, небольшой шведский торрент-трекер рос, став иконой интернет-пиратства. Давайте взглянем, как проект прошел путь от маленького сайта, расположенного на сервере с процессором 1.3 ГГц и 256Мб оперативной памяти, до глобального пиратского ресурса с мировым именем.
Читать дальше →

Из чего состоит мировой торрент-трафик?

Время на прочтение4 мин
Охват и читатели5K


Попытка оценки. Только факты.

Студент Принстона, Sauhard Sahi, провел небольшое исследование, с целью оценить, из какого рода данных состоит мировой торрент-трафик. Для этого он подключился к сети Mainline DHT, основному DHT, используемом Bitorrent, uTorrent, Transmission и др. (Azureus/Vuze использует по умолчанию иную DHT-систему, но существует плагин, позволяющий ему использовать и Mainline DHT), и получил данные и фрагменты из 1021 случайно выбранного торрента, находящегося в раздаче.
Читать дальше →

Брэм Коэн: Я писал BitTorrent сидя в гостиной, безработный, в трусах

Время на прочтение4 мин
Охват и читатели31K
«Храм должен был быть вечным. Как сама глубина. А значит, не зависеть ни от одного сервера. Создающие Храм программы свободно блуждают по сети, их фрагменты дублируются, рекомбинируются, самостоятельно организуются для работы. Чтобы Храм исчез, надо уничтожить все машины в сети.»
«Фальшивые зеркала», 1999 год, за 2 года до появления протокола BitTorrent


Сегодня стукнуло 41 год Брэму Коэну, создателю протокола BitTorrent.

Интересные факты:

  • Коэн начал программировать в 10 лет.
  • Коэн признается, что неспособен работать в фиксированном графике, по часам, в компании, предъявляющей строгие требования к дресс-коду, и категорически не может выполнять бессмысленную и неинтересную работу.
  • Работал в компании «Evil Geniuses for a Better Tomorrow» и Работал в «Valve».
  • Для тестирования BitTorrent Брэм собрал немалую пачку порнухи, которую и раздавали туда-сюда.
  • Организатор конференции CodeCon.
  • Есть жена и трое детей.
  • Самый большой файл на раздаче — архив сайта geocities.com размером в 641 Гб.
  • За первые два года было более 20 млн. закачек клиента, сейчас от 100 до 250 млн. пользователей BitTorrent.
  • В 2008 в раздачах исполняемых файлов 18% были заражены.
  • В 2009 от 43% до 70% трафика в Интернет принадлежало Peer-to-peer сетям.
  • В 2009 более 14.5% BitTorrent загрузок содержало zero-day вредоносные программы и поэтому BitTorrent был механизмом дистрибуции 47% zero-day зловредов.
  • Технологией BitTorrent пользуются Facebook, Twitter, Internet Archive, Blizzard, World of Tanks, Eve Online, правительство Великобритании, научные исследования (BOINC), множество open source и free software проектов.


Как писать, когда не умеешь и лень

Время на прочтение4 мин
Охват и читатели44K
Многие сравнивают писательство с каким-то творческим процессом. Это ошибка — мы все умеем писать по умолчанию. Сначала нас учили письму в школе, а потом пришли мессенджеры, и это дело превратилось в ежедневную привычку.
Читать дальше →

О переводе книги «Kali Linux Revealed»

Время на прочтение3 мин
Охват и читатели29K
Летом 2017-го вышло первое издание книги «Kali Linux Revealed: Mastering the Penetration Testing Distribution». Она посвящена работе в Kali Linux. Книгу, на английском, можно купить на Amazon, её можно читать онлайн или скачать в виде PDF-файла.

Нам книга показалась интересной, появилась идея перевести её на русский. Но проект большой и серьёзный, поэтому прежде чем начать, хочется посоветоваться с сообществом Хабра, вынести на голосование вопрос: «Переводить или нет?».
Читать дальше →

Информация

В рейтинге
Не участвует
Откуда
Menlo Park, California, США
Дата рождения
Зарегистрирован
Активность