• Адский проект
    +1
    Утилита импорта использует привязки, которые она же и генерит, и является для себя тестом. Например, можно читать с этой строки. Там OperationDef — это класс SOM, объявлен тут, видно, что наследуется от Container и Contained.

    В Delphi коде

    Contents := Definition.contents('all', False);


    это вызов метода, унаследованного от Container, а

    Modifiers := Definition.somModifiers;


    чтение свойства, унаследованного от Contained, соответственно.

    Если делать новые SOM классы на Delphi, то только вручную, так как я автоматизировал только импорт.

    Для других языков программирования, где поддержка SOM двусторонняя, все эти служебные структуры генерятся автоматом из IDL, а разработчик только вписывает содержимое методов.
  • Адский проект
    0
    На примере Delphi я экспериментировал с тем, чтобы вклиниваться.
  • Адский проект
    +1
    А, может быть, кто-нибудь дополнит эту таблицу для разных компиляторов Оберона и прокомментирует, почему в них дела обстоят так. Таблица мне понятна, и статья по ссылке бьёт прямо в точку, а «почитать по теме» — звучит не обнадёживающе. Вообще не факт, что удастся что-то найти, более вероятно, что таблицу эмпирически придётся заполнить, и по результатам постановки опытов всё будет так же плохо, как и везде.

    Если бы оберонщики понимали эту тему, от них бы шли обратные ссылки на эту статью (оригинал на английском), а я таких обратных ссылок не наблюдаю, поэтому скептичен насчёт того, если ли вообще такое понимание там.
  • Адский проект
    +1
    Ага, это называется Низкоуровневая совместимость между версиями, а когда такой совместимости нет, это описали тут, в абзаце про glmark2.

    Тему замяли, а так-то наработки в прошлом были (см. таблицу по первой ссылке).

    Кстати, по обтекаемому описанию («привязана к компилятору, который распространяется только с одной (не поддерживаемой) операционной системой» и «CORBA») напрашивается, что, может быть, там VisualAge для OS/2 в режиме DirectToSOM? Вообще-то под Windows он тоже есть, я его даже запускал, но штука редкая, может, просто некому было рассказать. Если мои предположения верны, то именно таких проблем, как когда dll совмещается с ООП, там и не должно быть.
  • Адский проект
    –1
    Но тем не менее в C++ undefined behavior оставляет надежду, что, может быть, в идеологически правильном компиляторе переполнение целого числа приведёт к исключению, а в Java по спецификации числа обязаны тихо прокручиваться через границу. Оставь надежду всяк сюда входящий.
  • Адский проект
    0
    Delphi в этом смысле двойной язык. Есть та половина, которую делал Интерсимоне, и есть хорошая половина.

    В хорошей половине — ARC для комовских интерфейсов и строк; проверки диапазонов и переполнений, унаследованные от Turbo Pascal. На хорошей половине работают mORMot и CVariants, может, кому-то пригодится.
  • Адский проект
    0
    Года с 95го уже была Ада как альтернатива C++. Да много их
  • Чего из Rust мне не хватает в C
    0
    Когда в команде Evolution всё шло наперекосяк. Нам тогда пришлось купить машину Solaris просто чтобы иметь возможность купить Purify; тогда не было Valgrind.


    И всё это время, пока не было Rust, была Ада. Вместо покупки Solaris и Purify можно было бы просто собирать бесплатным GNAT'ом со всеми включенными проверками, да так и оставить в продакшне с проверками. Как учил меня Каменский Никита Викторович в НГУ, 90% кода — проверка ошибок, так пусть генерятся автоматом, если делать их в любом случае нужно. В отличие от Purify и Valgrind, это вполне можно оставить работать в штатном режиме.
  • TLS 1.2 и новый ГОСТ
    0
    Где-нибудь уже продаются сертификаты с корнем от ГУЦ Минкомсвязи?
  • Control Flow Guard. Принцип работы и методы обхода на примере Adobe Flash Player
    0
    Как только ни извращаются, лишь бы на Аде не писать.

    Авторам статьи спасибо за разъяснения.
  • «Россия, институт, кафедра и я» — вторая часть интервью с Анатолием Абрамовичем Шалыто, профессором Университета ИТМО
    0
    Один мой знакомый, напротив, в эти роты желал попасть, так ему говорили, что там нужно три года подготовки пройти, а в магистратуре он будет только два и не успеет подготовиться, в общем, вежливо посылали.
  • Свершилось! Colocation за 1000 рублей
    0
    Ого! Я всё искал, кто бы догадался захостить Compute Stick типа MeLE StarCloud PCG02U или даже раздавать с кластера из таких устройств VPS. До хостинга стиков пока не додумались, а хостинг неттопов, оказывается, бывает.
  • Хранилище сертификатов в офисном пакете LibreOffice
    0
    Ну вот захожу я, допустим, сюда, и тут всё по полочкам: где поддерживаются поддомены, где — нет, где подтверждается существование компании (OV/EV), а где — нет (DV, только проверка домена). Вот тут, например, можно пролистать до самого подвала, и там ссылки с абсолютно понятными текстами: Тип SSL: DV SSL, OV SSL, EV SSL, Code Signing, Wildcard. S/MIME, правда, там нету прямым текстом, зато наверху: Для чего Вам сертификат? для сайта или интернет магазина, для почты, для программного обеспечения. И в «для почты» можно обнаружить S/MIME.

    УЦ здорового человека и УЦ российский
    А ещё у них на сайте можно узнать интересные факты о сертификатах, вроде того, что, оказывается, сертификат для подписи ПО сгодится для подписи PDF, но нет гарантий, что так это и останется в будущем. Вот ещё пример для сертификатов для подписи ПО. И ещё пример для защиты серверов. И ещё пример, где всё свалено в кучу, но справа есть ссылки вроде «Разработчикам ПО», чтоб отфильтровать лишнее.

    И я таких ссылок могу накидать много, объединяет их одно: на самом деле удостоверяющие центры учреждены зарубежными дядями. Вот у них руки из правильного места, они сделали всё как надо, а русским доверили только роль субподрядчиков и иногда даже только продавцов (это когда проверяет не та организация, где куплено, а непосредственно Comodo, по D-U-N-S и пр.).

    Если же русские пытаются не продавать от чужих УЦ, а сделать свой независимый, получается:

    Выпуск сертификата электронной подписи для предоставления документов в Федеральную службу по финансам и рынкам (ФСФР РФ)


    Ого! Ой, а можно что-нибудь попроще? Мне бы с сайта начать, а то без сайта не видать ни финансов, ни рынка.

    Предназначен для использования на порталах:
    gosuslugi.ru;
    nalog.ru;


    Это всё, конечно, замечательно, но надо сначала заработать, чтобы тратить на госуслуги и налоги.

    Выпуск сертификата электронной подписи для организации системы межведомственного электронного взаимодействия (СМЭВ)


    Все ведомства важны, все ведомства нужны, ну а для простого регионального ИП что-нибудь можно подыскать?

    Выпуск сертификата электронной подписи для электронной торговой площадки uTender.ru


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

    Выпуск сертификата электронной подписи для использования системе электронных торгов B2B-Center


    Алё, меня слышно вообще?

    Выпуск сертификата электронной подписи для ЕГАИС


    Алёшенькииии?!

    Конец страницы


    Блин, да как так-то? У нас разве не импортозамещение? Ну, я понимаю, что иностранные ОС не будут сразу понимать российскую криптографию и доверять нашему ГУЦ, но а с российскими ОС как дела? Вот соберу я программу под российские дистрибутивы, как распространяемый пакет подписать, чтоб сертификат был для ПО и чтоб цепочка с ГУЦ Минкомсвязи начиналась? Напишу я расширение для Редфокса, его тоже надо подписать. Как? Сайт сделать с российской криптографией, чтоб от ГУЦ доверие начиналось. Как?

    И даже для иностранных ОС можно сделать подписанный (иностранным УЦ) сертификатом типа EV CodeSign установщик, чтоб добавлял поддержку ГОСТ и добавлял доверие к ГУЦ Минкомсвязи. Я у одного производителя видел такое для Authenticode, но для меня так и осталось загадкой, зачем это нужно, если никто из российских УЦ не в состоянии выдать такой сертификат. Сложно там что-то, вот не получается, и всё тут.

    И чтоб решить свои внутрироссийские проблемы, надо идти на поклон к иностранному дяде, сами-то, по всему выходит, ничего не можем.
  • Хранилище сертификатов в офисном пакете LibreOffice
    +1
    Что там рекламировать? CodeSign нету, для сайтов и серверов где сертификаты купить, я тоже не вижу. Ну только S/MIME, наверное, есть, то, что на скриншотах.

    У любого нормального УЦ всё забито сертификатами на сайт, с вайлдкардами, с мультидоменами или без; DV, OV или EV. Чуть пониже болтаются Authenticode (CodeSign), опять же, разные, вот EV, например, вроде как даже запрос не выдаёт на повышение прав до админских, и не с любым можно сделать x64 драйвер. И в самом низу S/MIME, но при этом понятно, что это S/MIME, эти слова фигурируют в тексте.

    А тут заходишь, и ничего не понятно. Думаешь, куда я вообще попал.
  • Изменения процедуры выдачи сертификата для подписи кода у Certum
    0
    Там ведь на сайте остался способ с CSR? Если да, то Certum по идее не может отличить то, как был сгенерен CSR, на их смарт карте или нет, и вообще была ли она.

    Когда я получал год назад, CSR ещё был.
  • Изменения процедуры выдачи сертификата для подписи кода у Certum
    0
    Там какой-то апплет, похоже, который в устройство лезет, заставляет его сгенерить пару с неизвлекаемым приватным, и CSR отправить на сервер Certum. А сервер Certum меняет CSR на подписанный сертификат и даёт скачать.

    В норме должно так работать.
  • Изменения процедуры выдачи сертификата для подписи кода у Certum
    0
    Я отправлял загранпаспорт. Там есть имя латиницей.
  • Набор в Санкт-Петербургский академический университет
    0
    Есть возможность выбрать китайский как иностранный в магистратуре?
  • Путешествие за бугор и обратно: как не надо устраиваться работать за рубежом
    –2
    Меня мой интерес к языкам программирования привёл к тому, что я содержу себя на 2/3 удалёнными проектами на Аде, на которую я сам же и уломал заказчиков. Также у меня есть довольно успешный опыт применения языка программирования Icon к генерации тестов и обработке текстов, когда информацию извлечь надо, а полноценный парсер делать незачем. В СУБД нечем похвастаться, но могу немного сказать за функционально-реактивное программирование, реактивно-потребностное программирование и дедуктивные базы данных. Что-то из этого даже в памяти (IMDB) могу реализовывать, конкурс Asana проходил. Если кому-то очень захотеть и долго вкладываться, может даже и на диске получиться, но таких прецедентов не было.

    И постоянно встречаются мне граждане, которых как научили где-то, может быть, в ВУЗе, который они не закончили, что вот есть C++, на котором как бы быстро, но с ошибками, и есть Java, на которой медленно, но как бы надёжно. Как в «Начале» юлу закрутили, так она и крутится.

    И никак с ними не клеился диалог, что вообще-то в этой вашей Джаве даже переполнение интов нельзя отловить, а ради скорости вовсе необязательно идти на такие жертвы, как в этих ваших крестах. Достаточно сбросить с возу трассирующую сборку мусора. Или, другими словами, есть и другие компромиссы, свет клином не сошёлся на поносе и золотухе. Эти пустые глаза! Где в них живой интерес хотя бы к тому инструментарию, которым они пользуются?

    Знаю толкового программиста, который на Джаве много пишет по работе, но так и у него за душой обнаруживается какой-нибудь Хаскелль, на котором он Паскаль реализовывал.

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

    Если разработчик с порога показал себя пустоглазым, а уже в Европу хочет за чужой счёт, мне бы вся эта ситуация тоже была не очень понятна. Если так хочет, наверное, в Европе есть компании, которым нужны не люди-творцы, а именно что шестерёнки, но Xored — совсем другая организация (как можно было заранее понять по блогу platoff ).
  • Путешествие за бугор и обратно: как не надо устраиваться работать за рубежом
    –1
    Может, они как-то поверхностно понимают. Если добавить, что в Индии фашизм, то понятно, почему такие разные стандарты. Как раз, чтобы низшие не перепрыгивали «свой» уровень.
  • Путешествие за бугор и обратно: как не надо устраиваться работать за рубежом
    –2
    Согласно индуизму, еда в невежестве. Животные жиры, токсины, загружающую иммунную систему, вместо того, чтоб она занималась обычным делом, вплоть до полного отруба из-за перегрузки токсинами, если съесть много такой еды. Древний способ казни, когда осуждённого кормят только мясом, и он в мучениях доживает свой последний месяц.

    В общем, не в почёте у них мясо, и логично, что высшей касте не к лицу с этим связываться.
  • Путешествие за бугор и обратно: как не надо устраиваться работать за рубежом
    –8
    fix: С самого начала (пишет на Джаве, хочет в Европу) было понятно, что всё плохо.

    претензии к тому, что я не сделал ничего интересного вроде своей СУБД или своего языка программирования


    Хороший такой толстый намёк. platoff зрит в корень! Это, конечно, не оправдывает дальнейшее, но часто ли даётся такая возможность прозреть?
  • Windows 10 Creators Update: что нового в Bash/WSL и Windows Console
    0
    paserver от Delphi для Linux так и не заработал, но код ошибки поменялся с 22 на 92 Bad protocol option.
  • Lazy threads: опциональный параллелизм
    0
    В Continuation Passing C (руководство) реализуются зелёные потоки с возможностью миграции на выделенные обычные и обратно:

    cpc_detach, cpc_attach The cpc_detach statement detaches the current continuation; the following statements are executed in a dedicated native thread. The opposite operation is performed by cpc_attach, which causes the current continuation to be scheduled by the CPC scheduler.
    The cpc_detach and cpc_attach statements can only appear in cpc context.

    cpc_detached, cpc_attached The body of a cpc_detached statement is run detached: an implicit cpc_detach is executed upon entering the body, and a cpc_attach is executed upon exiting. The cpc_attached construct is dual: a cpc_attach is executed upon entry, and a cpc_detach is executed upon exit
  • Наследуемый класс компонента WinRT, написанный с использованием WRL
    0
    «Наследуемый» именно в кавычках? Я там так и не увидел, как эта наследуемость делается. Другие люди целые IBM SOM и Objective-C 2.0 nonfragile ivars городили, чтобы наследование между компонентами сделать, а Qt и Gtk+ так и не осилили и пошли городить гирлянды указателей, а тут просто слегка хакнуть WRL — и всё? Отнаследовалось?
  • WebRTC PeerConnection и DataChannel: обмен данными между браузерами
    0
    Какие библиотеки лучше использовать для небраузерной стороны? Предположим, у нас есть удалённое устройство и отдельно веб-сервер, реализующий файловый менеджер через WebSockets или WebRTC. И вот желательно, чтоб браузер перекачивать файлы с/на удалённое устройство мог напрямую.
  • One Core API чтоб править Windows
    0
    Разработчики, желающие добавить поддержку XP в свои продукты, я имею в виду Inkscape всякие, могли бы зарубить себе на носу, что если им так хочется полезть в msvcrt.dll за новыми функциями, пусть тащат с собой установщик msvcrt 12.0 и лезут в msvcrt120.dll.
  • Планеты и четвёртое измерение
    0
    Можно ли фибрацию Хопфа спроецировать в набор непересекающихся орбит?
  • Как не распространять запрещённый контент, но всё равно ощутить на себе действие 139-ФЗ
    0
    Шантаж не всегда предполагает деньги
  • Как не распространять запрещённый контент, но всё равно ощутить на себе действие 139-ФЗ
    0
    КПЕ и ПВО нашли в себе силы пойти. Только их отстраняют от участия в выборах не мытьём, так катанием.
  • Как не распространять запрещённый контент, но всё равно ощутить на себе действие 139-ФЗ
    +1
    Я б сказал, что она давно захвачена, но есть разные уровни эксплуатации, и иногда нужно сломать прежнюю колониальную систему, чтоб увеличить уровень эксплуатации. Так сломали горбачёвский СССР, не так давно Украину. То, что делает бюрократия сейчас, очень похоже на целенаправленное создание революционной ситуации. При управляемом ходе революции исполнители даже не сильно страдают. Вот на Украине, как говорит Анатолий Шарий, судьи, которые его осудили при Януковиче, так и сидят при Порошенко. В них бутылки со смесями не летели.
  • Как не распространять запрещённый контент, но всё равно ощутить на себе действие 139-ФЗ
    0
    Видимо, разработчики не смогли в sniproxy. Хотя что там в генерации конфига сильно отличающегося от генерации конфига squid, для меня загадка.
  • Как не распространять запрещённый контент, но всё равно ощутить на себе действие 139-ФЗ
    0
    В смысле, адрес сервера выгрузки?
  • Как не распространять запрещённый контент, но всё равно ощутить на себе действие 139-ФЗ
    0
    В этот момент нужно просто оказаться иностранцем. У нас же как запрещённую литературу распространят? Украинец печатает и продаёт запрещённую в России, но не на Украине, книгу, россиянин покупает. Гражданина другой страны на территории другой страны не может осудить российский суд, а россиянина российский суд может осудить только за распространение запрещённого в России, но не за приобретение. С тем, что запрещено на Украине, обратная схема.
  • Правильные многогранники. Часть 2. Четырёхмерие
    0
    Сфера вкладывается как в эллиптическое пространство, так и в Евклидово и Лобачевского. Евклидова плоскость вкладывается только в Евклидово и Лобачевского пространства. Плоскость Лобачевского можно вложить только в пространство Лобачевского.

    Однако этот ряд можно продолжить тем способом, который я не видел. Плоскость Лобачевского можно вложить в псевдоевклидово пространство Минковского. В принципе, это известный факт, пространство скоростей в теории относительности является гиперболическим. 4-вектор скорости всегда по модулю равен 1 (скорость света) — и вот получается гиперболоид возможных скоростей. Только я не видел, чтобы эта особенность рассматривалась с позиции возможных замощений.

    Если этот гиперболоид дополняется ещё одним гиперболоидом, но с пространственноподобным радиусом, вот, глядишь, и «выход за абсолют» нашёлся. Правда, как я понимаю, там не дополнение, а вообще все точки будут на таком гиперболоиде, а это уже, наверное, пространства де Ситтера и анти-де Ситтера должно называться.

    Ведь взять, допустим, пространство Минковского (2е пространственных координаты, одно время). На обычной плоскости Лобачевского вершины с бесконечным количеством рёбер мог быть только в идеалах. А в пространство Минковского вложил гиперболоид, замостил его пространственноподобной гиберболической мозаикой, и ещё от центра гиперболоида провёл бесконечность времениподобных вершин. И всё это — не в идеале, а в любой точке пространства. И для более простых «плохих» символов Шлефли должно место найтись.

    Заодно узнаем, какая у нас потенциально может быть решётка пространства-времени.
  • Новый параметр описания раздачи &x.do= в магнет-ссылке для FlylinkDC++. Факторы выбора юзером файлообменной сети
    0
    Посмотрел. Там протобуф. Значит, поле для TTH добавить везде можно. А ещё значит, механическое добавление TTH к списку других хешей не поможет в данном вопросе. Даже в Blob там будут добавки, сделающие содержимое слишком другим.

    Поможет хакнутая функция, которая умеет парсить ProtoBuf для Blob и List и возвращать TTH для них.
  • Новый параметр описания раздачи &x.do= в магнет-ссылке для FlylinkDC++. Факторы выбора юзером файлообменной сети
    0
    Не надо бросать пыль в глаза. Любой хеш Меркля — на самом деле направленный ациклический граф. Если вдруг хеши соседних узлов сошлись, вот считай, уже не дерево, и можно было бы такие куски дедуплицировать. Другое дело, что в масштабах миллионов файлов держать индексы не только для корней, но и для внутренних узлов, и всё это в режиме реального времени обнаруживать, мне кажется, было бы убийственно для производительности.

    Единственный полезный способ применять их произвольно гибкий граф, который я увидел, — это Jigdo для p2p. Но нормальный p2p стоит на прочном фундаменте хешей, всегда одинаковых для идентичных файлов. Я могу напихать файлов в Jigdo .iso, и эти файлы по TTH найдутся у тех, кто расшарил их, не координируясь со мной. Таким образом, из TTH+Jigdo можно сделать IPFS, а обратное, когда каждый хеширует файлы кто в лес, кто по дрова, не верно.

    Я там прокомментировал, как технически можно было бы внедрить TTH с учётом тонкостей. Попутно мне пришла идея, а не запилить ли совместимый с IPFS хеш в DC++? Просто такие ребята, ну знаете, как-то раз три года назад собрались начать переход на новый древовидный хеш на основе SHA3, когда конкурс ещё только шёл, и вот до сих пор можно открыть список официальных расширений протокола, TIGR там есть, а SHA3 — нет.

    Получается, планы озвучены, а в деталях реализации ещё чистый лист. Пользуясь шансом, можно взять и синхронизироваться. Чтобы сохранить все хорошие свойства TTH, придётся натянуть алгоритм IPFS на особенности вычисления TTH, и в каком-то диапазоне размеров файлов будет совместимость, а где-то у IPFS могут возникнуть (решаемые) проблемы.

    Так, нижние блоки совершенно аналогично TTH всегда имеют гранулярность 1024 байта. Они образуют объекты Blob, а из Blob образуются объекты List аналогично TTH узлам. Синтаксис List используется, как в IPFS. При этом все синтаксические навороты IPFS с точки зрения преемника TTH — это просто способ посолить хеши. В TTH базовая криптографическая функция Tiger солится нулевым или единичным байтом, а здесь это будет:

    {
       "data": ["blob", "list", "blob"],
       // lists have an array of object types as data
       "links": [
          { "hash": "XLYkgq61DYaQ8NhkcqyU7rLcnSa7dSHQ16x",
            "size": 189458 },
          { "hash": "XLHBNmRQ5sJJrdMPuu48pzeyTtRo39tNDR5",
            "size": 19441 },
          { "hash": "XLWVQDqxo9Km9zLyquoC9gAP8CL1gWnHZ7z",
            "size": 5286 }
          // lists have no names in links
       ]
    }
    


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

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

    Ещё есть мысль добавить TTH рядом с этим новым, основанным на SHA3 хешем. Мне пока не понятно, возможно ли в Blob и List добавить ещё поле для TTH, но было бы здорово.

    В общем случае взаимодействия между DC++ и независимо опубликованными в IPFS файлами всё равно не будет потому что кто в лес по дрова хеширует, но потом можно научиться публиковать файлы в IPFS так же, как это делает будущий гипотетический DC++, и тогда и с DC++ совместимость получится, и внутри IPFS разброд и шатания будут с меньшей амплитудой, владельцы идентичных файлов смогут находить друг друга. И TTH таким образом вплетённый, не «забудут» посчитать.
  • Новый параметр описания раздачи &x.do= в магнет-ссылке для FlylinkDC++. Факторы выбора юзером файлообменной сети
    0
    И этот «новый шаг» начался не с поддержки TTH. О чём они вообще думали, для кого они это делали. Крайне скептически я отношусь к таким «новым шагам». Ну как сделают TTH, так можно будет посмотреть.
  • Новый параметр описания раздачи &x.do= в магнет-ссылке для FlylinkDC++. Факторы выбора юзером файлообменной сети
    0
    Да, вот это кажется бредом, чахнуть как Кащей над BTIH, лишь бы сошёлся. Имя поменяли — всё, капец, не сходится. Ну что за стыд.

    Вот я понимаю, многофайловые раздачи непросто будет пересекающиеся находить, но с однофайловыми-то всё понятно должно быть. Просто берём и используем TTH вместо BTIH. Ну не влезло маленько 4 байта разница, давайте в старом механизме обрубим, а в новом учтём.
  • Новый параметр описания раздачи &x.do= в магнет-ссылке для FlylinkDC++. Факторы выбора юзером файлообменной сети
    0
    Ну так и из TTH можно микроторренты генерить по той же спеке. В принципе, веб-сервер можно научить. Скрипт модифицировать, чтоб рядом с каждым файлом подрисовывал тоже торрент с теми же параметрами, что у магнитки, и пожалуйста. И на любой размер смасштабируется, и на малых размерах (<2Мб) проверка будет по 1Кб, а не по всему размеру. А MD5, между прочим, в RFC есть, Content-MD5 называется, и Apache2 его генерить умеет. Только файл нужно качать от начала и до конца, иначе Content-MD5 от куска будет. Что теперь, за каждую архаичность цепляться? Есть TTH, он хороший, проверенный и нечего вытрёпываться, велосипедить пи-хеш, а-бтих, будь здоров, и нечего вытрёпываться использовать недревовидные хеши, а среди древовидных нужно веское основание не вычислить TTH. Я так считаю.

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

    Скрипты — это вынужденная мера. Обычная раздутая страница — 6.9Кб, а сжатая до той степени, насколько возможно не в ущерб SEO — 1.5Кб. А чем меньше размер, тем больше чужих шар влезет. С точки зрения SEO я больше хотел, чтобы TTH был искабельным через поисковики, поэтому он там текстом, а магнитки в явном виде нет, как и многого другого. Если же кому-то захочется в автоматическом режиме что-то обработать, так проще всю директорию слить в одном из предложенных форматах.