В результате сортировки по имени рядом оказываются файлы, мало отличающиеся друг от друга. Судя по всему, это весьма благоприятно сказывается на эффективности сжатия.
Жалко, что статья упускает, возможно, самое интересное — исследование того, почему именно так происходит. Попытался поискать объяснение сам, буду рад, если кто-то поправит:
В xz используется LZMA, реализующий сжатие со словарем на основе скользящего окна. Грубо говоря, подстроки исходного файла могут быть заменены на пару чисел "(оффсет от текущего положения; длина подстроки)". Величина этих чисел ограничена, собственно, размером окна — чем больше, тем больше потенциальных кандидатов для замены (и больше степень сжатия), но больше время работы алгоритма сжатия и требуемая ему память. Соответственно, для наибольшего сжатия выгодно, чтобы схожие данные находились в пределах размера окна друг от друга.
Вот рекомендации по Python и математике для прохождения открытого курса по машинному обучению (копипаста из нашей группы):
Пока курс не начался, можно повторить математику и Python. Зачем дата саентисту нужна математика – неплохо поясняет Andrej Karpathy. А Python – уже стандарт в области машинного обучения.
Математика
Если быстро, то можно пройтись по конспектам из специализации Яндекса и МФТИ на Coursera https://yadi.sk/d/yEXkABC_353Zmh (делимся с разрешения).
Если основательно подходить к вопросу, хватит вообще одной ссылки на MIT Open Courseware https://ocw.mit.edu/courses/mathematics/. На русском классный источник – Wiki-страница курсов ФКН ВШЭ http://wiki.cs.hse.ru/. Но я бы взял программу МФТИ 2 курса и прошелся по основным задачникам, там минимум теории и много практики.
И конечно, ничто не заменит хороших книг (тут можно и программу ШАДа упомянуть):
– Математический анализ – Кудрявцев
– Линейная алгебра – Кострикин
– Оптимизация – Boyd (англ.)
Теория вероятностей и матстатистика – Кибзун
Python
Быстрый вариант – браузерные тьюториалы а-ля CodeAcademy, Datacamp и Dataquest, тут же могу указать свой репозиторий https://github.com/Yorko/python_intro.
Интересно, а рассказы про промисы ещё актуальны? (Не сарказм, просто иногда подумываю, а не написать ли и мне статью, где я всё всем разжую про них. Однако боюсь что все уже знают и закидают шапками типа "добро пожаловать в 2012")
Жалко, что статья упускает, возможно, самое интересное — исследование того, почему именно так происходит. Попытался поискать объяснение сам, буду рад, если кто-то поправит:
В
xz
используется LZMA, реализующий сжатие со словарем на основе скользящего окна. Грубо говоря, подстроки исходного файла могут быть заменены на пару чисел "(оффсет от текущего положения; длина подстроки)". Величина этих чисел ограничена, собственно, размером окна — чем больше, тем больше потенциальных кандидатов для замены (и больше степень сжатия), но больше время работы алгоритма сжатия и требуемая ему память. Соответственно, для наибольшего сжатия выгодно, чтобы схожие данные находились в пределах размера окна друг от друга.Вот рекомендации по Python и математике для прохождения открытого курса по машинному обучению (копипаста из нашей группы):
Пока курс не начался, можно повторить математику и Python. Зачем дата саентисту нужна математика – неплохо поясняет Andrej Karpathy. А Python – уже стандарт в области машинного обучения.
Математика
– Математический анализ – Кудрявцев
– Линейная алгебра – Кострикин
– Оптимизация – Boyd (англ.)
Python
Интересно, а рассказы про промисы ещё актуальны? (Не сарказм, просто иногда подумываю, а не написать ли и мне статью, где я всё всем разжую про них. Однако боюсь что все уже знают и закидают шапками типа "добро пожаловать в 2012")
/ip firewall filter
add action=drop chain=forward comment="TORRENT No 1: Classic non security torrent" disabled=no p2p=all-p2p
add action=drop chain=forward comment="TORRENT No 2: block outgoing DHT" content=d1:ad2:id20: disabled=no dst-port=1025-65535 packet-size=95-190 protocol=udp
add action=drop chain=forward comment="TORRENT No 3: block outgoing TCP announce" content="info_hash=" disabled=no dst-port=2710,80 protocol=tcp
add action=drop chain=forward comment="TORRENT No 4: prohibits download .torrent files. " content="\r\nContent-Type: application/x-bittorrent" disabled=no protocol=tcp src-port=80
add action=drop chain=forward comment="TORRENT No 5: 6771 block Local Broadcast" content="\r\nInfohash:" disabled=no dst-port=6771 protocol=udp