• Где хакеры выкладывают украденные фото знаменитостей?

    @nirvimel
    Изначально это мог быть совершенно любой файлообменник. Разумеется, как только ссылка разлетелась по сети, оригинал был сразу же зачищен. Но к этому времени скачавших уже сотни, среди них находятся те, кто выкладывают архив для дальнейшего распространения на много разных обменников, эти ссылки могут прожить уже дольше: несколько часов или дней. За это время их скачивают почти все, кто реально заинтересован в этой теме. Остальные, увидев новость, тыкнутся в гугл, сходу найдут не так много (все что можно легко найти через ПС быстро подчищается), обломаются и отвалят (нужно быть очень сильно мотивированным к данной теме, чтобы продолжать упорные поиски часами, таких людей мало).
    В конце концов этот архив окончательно вымываются из веба и остается только в P2P: Например в KAD (eMule/aMule) или еще глубже в I2P (iMule), оттуда его уже не выжечь, все что могут сделать представители пострадавшей стороны - это утопить реальный архив в куче подобных ему фейков (часто с троянами внутри).
    Ответ написан
    2 комментария
  • Как взять преобразование Фурье от дискретных точек?

    @nirvimel
    Не подскажу про Matlab, но на Python это делается так:
    import numpy
    import scipy.fftpack
    x = numpy.array([0, 1, 0, 1, 0, 1, 0, 1, 0, 1])
    numpy.abs(scipy.fftpack.fft(x)[:(len(x)/2)]) * (2./len(x))

    На выходе: array([ 1., 0., 0., 0., 0.]) - тут виден единственный пик на самой высокой частоте n все более низкие частоты по нулям.
    Если взять другой пример:
    x = numpy.array([0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1])
    , то получим array([ 0.5, 0. , 0. , 0.5, 0. , 0. ]) - тут два равных пика на n и на n/4, последний очевидно следует из данных, первый из того факта, что фигура исходного сигнала далека от синусоиды.
    Ответ написан
    Комментировать
  • Существуют ли бесплатные аналоги Abbyy Lingvo?

    @nirvimel
    Goldendict с внешними словарями.
    spoiler
    Например: [1], [2], [3], [4].

    Есть несколько режимов всплывания окна перевода при работе в других программах:
    1) при выделении слова;
    2) при выделении слова и нажатии (можно даже после) Shift/Ctrl/Alt/Win/Meta;
    3) при копировании в буфер обмена и нажатии горячей клавиши (настраивается).
    Ответ написан
    Комментировать
  • Где лучше хранить глобальный циклический буфер посещений(посетителей) сайта?

    @nirvimel
    Не надо ничего удалять.
    Одна специальная запись (в отдельной таблице) будет хранить номер (первичный ключ) последней записи в логе.
    На добавление новой записи в лог расходуется ровно один UPDATE (первичный ключ извлекается подзапросом), после чего номер последней записи инкрементируется и берется остаток по модулю равному количеству записей лога в ротации. Если СУБД позволяет, то идеально было бы сделать это на триггере апдейта в таблицу лога, тогда эти апдейты со стороны клиента становятся полностью атомарными, их больше ненужно заворачивать в транзакции, можно выполнять в любом порядке, в отложенном режиме (не дожидаясь ответа сервера) если драйвер БД это допускает (это может сильно увеличить производительность).

    Что касается файла: если вы не являетесь экспертом в различных режимах fsync и атомарности дисковых транзакций, то не советую заниматься частой перезаписью файла с ценные данными. На этом обожглись многие разработчики СУБД не говоря уже о прикладных кодерах. (когда кажется, что последовательность дисковых операций просто не допускает возможности базе остаться в инвалидном состоянии, но все равно после падения база каким-то образом оказывается в инвалидном состоянии).
    Ответ написан
  • Возможно ли реализовать расширение, которое будет отображаться поверх сайта?

    @nirvimel
    Про расширения уже ответили: там это решают content-скритпы.
    Я только добавлю, что поставленная задача гораздо проще и удобнее решается (без создания отдельного расширения) полностью на юзерскриптах (GreaseMonkey/TamperMonkey). Я так почти все (значимые для меня) сайты дорабатываю напильником под себя. Кроме удобства разработки, плюсом также является то, что при распространении готовых юзерскриптов, потенциальные их юзеры при установке сразу видят: 1) ограниченные права, которые запрашивает скрипт; 2) ограниченный круг доменов (или любых адресов) на которых скрипт будет задействован; 3) можно при установке просмотреть исходник скрипта (в очень удобной форме, не лазия по гитхабам). Это все очень важно для тех, кто беспокоится о своей безопасности и не желает пускать в свой браузер расширения от неизвестных авторов, с неограниченными правами.
    Ответ написан
    Комментировать
  • Можно ли запустить tor на несколько портов одновременно?

    @nirvimel
    Можно. Для этого создаются несколько копий конфига torrc, в каждом конфиге прописываются разные адреса SocksPort (также необходимо, чтобы ControlPort и DataDirectory были уникальными). Далее запускаются отдельные экземпляры Tor для каждого конфига соответственно: tor -f torrc, где torrc имя (с полным путем) файла конфига.
    Ответ написан
    1 комментарий
  • Как осуществить логин на сайте?

    @nirvimel
    куки, может они как-то связаны с логином?

    А то!

    Смотрите что отправляет браузер в момент логина включая все заголовки, все куки, все тело POST и все параметры в нем (не что он должен отправлять исходя из структуры формы, а что в этот момент на самом деле отправляют скрипты) и сравнивайте с тем, что отправляет ваш парсер.
    Бывает, проще прочесть скрипты, понять их логику и переписать на питон. Бывает наоборот, обфусцированный скрипт на несколько тысяч строк, тогда проще анализировать сетевую активность в момент совершения действия (логина, например), пробовать разные варианты ввода, наблюдать как зависит передаваемое от введенного, выявлять закономерности и имитировать подобный алгоритм на питоне.
    Ответ написан
    2 комментария
  • Палится ли пиратский музыкальный софт при выпуске в продакшн?

    @nirvimel
    Можно взять и перекодировать сторонним софтом с понижением битрейта. Любые теги отфильтруются точно. На счет возможных вотермарков: Тонкие незаметные на слух вотермарки при понижении битрейта будут неизбежно повреждены и не смогут правильно считаться, то есть уверенная идентификация станет невозможной. Если представить себе такие крупные вотермарки, которые при значительном понижении битрейта смогли бы сохранить в точности свою контрольную сумму (обязательное условие корректного считывания), то они были бы определенно заметны на слух и значительно портили бы композицию.
    Ответ написан
    Комментировать
  • Почему вылазит "Ошибка сегментирования"?

    @nirvimel
    По науке этот вид ошибок называется Undefined behavior.
    На практике это выглядит как Segmentation fault в 99% случаев.
    Ответ написан
    Комментировать
  • Существуют ли библиотеки для сравнения изображений, аналог Google Image?

    @nirvimel
    digiCam умеет искать дубликаты изображений в коллекции при помощи нечеткого сравнения (слепки со всей коллекции создаются на некотором этапе этого процесса). Я проверял (когда-то давно), она действительна способна найти различные изображения, отфотошопленные из одного, или разные кадры, снятые один за другим. Конечно, ложноположительные срабатывания случаются, но уровень "похожести" при поиске можно задавать. На каких библиотеках все это построено, думаю, станет понятно после чтения исходников (opensource же).
    Ответ написан
    1 комментарий
  • Что за конструкция?

    @nirvimel
    Ссылка на элемент массива line, который имеет тип Line.
    Ответ написан
    Комментировать
  • Можно ли спасти жёсткий диск?

    @nirvimel
    Это умирает контроллер (как уже сказали).
    Можно попробовать пересканировать диски:
    echo "- - -" > /sys/class/scsi_host/host0/scan
    (вместо host0 - номер вашего порта).
    В некоторых случаях умирающие диски перестают обнаружатся сразу после включения питания, но полежав какое-то время подключенными к питанию, они прогреваются и могут запустится и обнаружиться при повторном сканировании (linux дает такую возможность). Но даже, если каким-то чудом его удастся запустить, то проработает он до первого выключения питания, он дает одну возможность для снятия бекапа.
    Ответ написан
    Комментировать
  • Как Вы измеряете быстродействия кода на Python?

    @nirvimel
    В PyCharm есть прекрасный профайлер.
    Ответ написан
    Комментировать
  • Можно ли организовать организовать сетевой обмен, через Socket с такими требованиями??

    @nirvimel
    Можно ли организовать организовать сетевой обмен?

    Можно.

    Или как можно организовать такое соединение?

    Для этого понадобится java-программист уровня junior в количестве 1 шт.

    Вообще это похоже на стандартное тестовое задание на собеседовании на вакансию джуниора, которое кандидат обычно пишет на месте в процессе собеседования.
    Ответ написан
  • Как написать кастомный софт под мой смартфон?

    @nirvimel
    После заливки непротестированной прошивки прямо в живой телефон с вероятностью 99.99% он превратится в кирпич.
    Так прошивки не разрабатывает никто, включая тех, кто их разрабатывает профессионально.

    С чего начинать? - С покупки специальной Development Board под целевой SoC, например.
    Ответ написан
    Комментировать
  • Мешает реклама на странице в ОК. Как её убрать?

    @nirvimel
    Ответ написан
    Комментировать
  • JS клиент и Python сервер, как передавать данные через socket?

    @nirvimel
    Для современного асинхронного WebSocket-сервера на Python выбор библиотеки фактически сводится к:
    1. https://github.com/KeepSafe/aiohttp - эталонный HTTP-клиент и сервер под asyncio, среди прочего есть поддержка WebSocket на клиенте и на сервере.
    2. https://github.com/crossbario/autobahn-python - (по историческим причинам) эталонная реализация WebSocket на Python под asyncio или twisted; остальные реализации обычно сверяют свой функционал с ней.
    3. https://github.com/aaugustin/websockets - под asyncio.
    4. https://github.com/Lawouach/WebSocket-for-Python (AKA ws4py) - под asyncio или gevent или CherryPy.
    Ответ написан
    1 комментарий
  • Подсчет уникальных значений с минимальной погрешностью?

    @nirvimel
    Все зависит от формата хранения/представления этих данных. Должен быть свой кастомный формат, компактный (чтобы сократить доступ к памяти) и удобный исключительно для быстрого сканирования (прохода по всем записям), и ни для чего другого. Я бы написал это под Cython или Numba с компактным представлением данных в Numpy. При таком большом количестве мелких записей и, в общем то, тривиальном алгоритме их обработки основным bottleneck в плане производительности становится не CPU, а доступ к RAM, поэтому от "хитрости" самого алгоритма подсчета (какие тут могут быть хитрости?) тут мало что зависит, зато компактность структуры данных (даже за счет не очень удобного доступа к ней) будет играть решающую роль.
    Ответ написан
    Комментировать