The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Релиз проприетарного BitTorrent-клиента Tixati 2.86"
Отправлено Ordu, 07-Ноя-21 19:23 
> Ты ж не умеешь кодить, ждать от тебя нормальный клиент не приходится.

Что ты сделал, чтобы мотивировать меня создать нормальный клиент? Ты сейчас, как я понимаю, пробуешь технику "взять на слабо". Пфеу. Ты ждёшь что это сработает? За кого ты меня принимаешь? За подростка 12 лет?

Если ты пытаешься манипулировать человеком, то надо учитывать особенности этого человека. Например, общеизвестно, что каждый программист подвержен NIH-синдрому, и как бы он не пытался скрыть это, всё равно рано или поздно спалится, что делает NIH-синдром отличным рычагом для манипуляции программистом. Что ты сделал, чтобы вызвать раздражение моего NIH-синдрома?

Хочешь я тебе помогу? Научу манипулировать программистами? Вот на этом конкретном примере битторрент-клиента.

Во-первых, следует понять, что битторрент-клиент имеет кучу свойств, которые так и щекочут NIH-синдром. Битторрент-клиенту надо уметь жонглировать как минимум десятками соединений, обрабатывая всё происходящее на них асинхронно, и при этом этот "минимум" -- это довольно позорный минимум. По-хорошему, если битторрент-клиент хоть на что-то претендует, ему надо бы уметь справляться с тысячами, а если он хочет быть реально хорошим клиентом, то, наверное, и с десятками, а может и с сотнями тысяч соединений. А это уже светит пулом ядерных тредов, и кучей юзерспейс-задач, которые надо раскидывать по пулу, по мере выполнения операций, причём делать это достаточно эффективно, чтобы накладные расходы не съели бы все ресурсы CPU. При этом, надо уметь масштабироваться в рантайме, потому что если в работе есть ровно один торрент с двумя пирами, то больше одного ядерного потока под это использовать как-то не комильфо. Опять же, с жёстким диском придётся работать самостоятельно, не удастся свалить на движок базы данных эту работу, то есть неплохо было бы кешировать i/o операции, и скидывать их ядру пачками, дабы сисколлов поэкономить. И может как-нибудь порядком скачивания рулить, чтобы (если запись на hdd) поменьше головки позиционировать. Или может оставить это ядру? Пускай оно кеширует?

Короче очень интересно: придётся решать ряд фундаментальных задач системного программирования, про которые написаны многие тома литературы, и... вух.

Кроме того, у битторрента открытый протокол, и есть несколько открытых реализаций, то есть серьёзных проблем с тем, чтобы понять что и как надо делать не предвидится. Можно рассчитывать на то, что выпиливая свой велосипед всегда можно будет подсмотреть технические решения у других. Всякие навороченные алгоритмы, как решить у кого запрашивать очередной блок? Я не знаю, есть ли такие алгоритмы или нет, нужны они или нет, но даже если есть, я могу их найти, мне не надо будет изобретать, не надо будет исследовать долго многие swarm'ы, выискивать те критерии, по которым можно судить о том, к кому имеет смысл обращаться, а к кому нет. Вообще не занимаясь этим, я могу получить как минимум удовлетворительную реализацию, а может даже очень неплохую. Это вселяет надежду (ложную скорее всего, но тем не менее надежду) в то, что можно будет только кодить, не отвлекаясь на долгие исследования.

То есть, возникает желание почесать NIH-синдром, при одном упоминании bittorrent. Но оно отваливается моментально, как только я начинаю задумываться об этом. Чем мой клиент будет "не таким как все"? Если он будет таким же, как допустим, rtorrent, то зачем писать, если можно просто скопипастить код rtorrent, или даже можно сэкономить усилий на копипасте, и тупо поставить rtorrent. То есть, при всём при том, что писать клиента может быть интересно и занятно, нет какой-то вишенки на торте, которая наделит смыслом всю эту деятельность. Меня даже не вдохновляет идея активировать режим RiiR -- это да, лучше чем ничего, но недостаточно.

Если ты хочешь спровоцировать рецидив NIH-синдрома, тебе надо дать этот смысл. "Шва6одкин кал уже в глотку не лезет" не является этим смыслом. Так же как и "mtorrent для стабленонсенса так и не захотели нормально поддерживать". Вот этого последнего я даже не понимаю: штаэтаты и мел в иду?

Вот если бы ты не поленился бы написать чего тебе не хватает в Transmission или в rtorrent, объяснить бы свои use-case'ы, чтобы эти use-case'ы объяснили бы почему эта нехватка является фатальным недостатком, то это могло бы сработать. И вообще, чем больше фатальных недостатков ты найдёшь в существующих решениях, тем лучше. Если ты будешь сопровождать эти фатальные недостатки объяснением того, как надо делать, и если эти объяснения будут такими, чтобы не вызывать у меня сомнений виде "а возможно ли это сделать в разумные сроки?", то мне уже свой NIH-синдром придётся сознательными усилиями тормозить, сознательно контролируя дыхание и успокаивая себя словами, что у меня и так забот полон рот, что мне не хватало ещё с битторрент-клиентом возиться.

Если тебе непонятно, к чему предыдущий абзац, то я поясню: меня 100% устраивают как Transmission, так и rtorrent. Я не вижу чего к ним ещё можно добавить. Они умеют взять magnet-ссылку и скачать торрент. Что ещё может быть надо и зачем, я не понимаю. И до тех пор, пока ты это непонимание не устранишь, мой NIH-синдром будет спотыкаться о существование Transmission и rtorrent, и совершенно определённо я не буду писать никаких битторрент-клиентов.

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

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
  Введите код, изображенный на картинке: КОД
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру