gentoo.ru
Официальная конференция Direct Connect клиента EiskaltDC++
eiskaltdc@conference.gentoo.ru
Воскресенье, 26 июня 2011< ^ >
tehnick установил(а) тему: Last stable release: 2.2.3 || Конференция разработчиков EiskaltDC++
Логи: http://gentoo.ru/jabber/logs/eiskaltdc@conference.gentoo.ru/2011/
Активность в багтрекере: http://code.google.com/p/eiskaltdc/updates/list
Активность разработки: http://github.com/negativ/eiskaltdcpp/network
Release schedule:
* 2011-09-18 Release EiskaltDC++ 2.2.4
TODO:
* DHT Support
* IPv6 in DC++ Core
* JSON interface in EiskaltDC++ Daemon
* Migrating from Libglade to GtkBuilder in EiskaltDC++ Gtk
ADC notes:
https://adc.svn.sourceforge.net/svnroot/adc/trunk/ADC.txt
https://adc.svn.sourceforge.net/svnroot/adc/trunk/ADC-EXT.txt
http://www.adcportal.com/wiki/ADC_Proposals_list
Git notes:
http://habrahabr.ru/blogs/development/68341/
http://dl.dropbox.com/u/281916/delete/book.pdf
JSON:
http://ru.wikipedia.org/wiki/JSON
http://en.wikipedia.org/wiki/JSON
http://en.wikipedia.org/wiki/JSON-RPC
JSON parser from Boost:
http://plaincodesource.blogspot.com/2011/03/json-c-boost.html
http://stackoverflow.com/questions/717618/simple-server-client-boost-example-not-working
HTTP and TCP client/server examples:
http://www.boost.org/doc/libs/1_39_0/doc/html/boost_asio/examples.html
Конфигурация комнаты
Участники комнаты

GMT+4
[00:30:23] tehnick вошёл(а) в комнату
[00:30:56] <tehnick> Порция ссылок:
[00:30:57] <tehnick> http://www.opennet.ru/opennews/art.shtml?num=30991
[00:31:03] <tehnick> http://www.linux.org.ru/news/internet/6424201
[00:31:10] <tehnick> Для тех, кто не видел...
[00:31:30] <tehnick> Еще есть: http://www.linuxcenter.ru/news/2011/06/25/12485/
[00:31:46] <tehnick> Но тут без комментариев пользователей.
[00:31:53] <tehnick> Так что толку мало.
[00:32:08] tehnick вышел(а) из комнаты
[00:43:45] Клёк вышел(а) из комнаты
[00:44:29] Клёк вошёл(а) в комнату
[01:04:04] dhamp вошёл(а) в комнату
[01:04:40] <dhamp> tehnick:  и нафиг эта порция ссылок ?
[02:04:45] Diger вышел(а) из комнаты
[03:23:04] Клёк вышел(а) из комнаты
[03:26:26] dhamp вышел(а) из комнаты
[03:39:43] Kroll вошёл(а) в комнату
[07:31:30] slil_work вошёл(а) в комнату
[07:32:16] slil_work вышел(а) из комнаты
[09:15:50] Diger вошёл(а) в комнату
[09:29:33] Diger вышел(а) из комнаты
[09:29:49] Diger вошёл(а) в комнату
[10:05:18] gray_graff вышел(а) из комнаты
[10:11:30] gray_graff вошёл(а) в комнату
[10:16:27] gray_graff вышел(а) из комнаты
[10:16:57] gray_graff вошёл(а) в комнату
[10:44:26] gray_graff/work вышел(а) из комнаты
[10:45:27] gray_graff/work вошёл(а) в комнату
[11:13:47] Nikoli вышел(а) из комнаты
[11:14:13] Nikoli вошёл(а) в комнату
[11:39:20] pavelvat вошёл(а) в комнату
[11:47:58] <pavelvat> arinoki.d: зачем в описании релизной сборки добавлено "App for" - я это удалю как лишний текст, и да ведь tehnick тебе объяснил правила:
после того как релизная сборка загружена на googlecode, промежуточные т.е. не релизные сборки удаляются чтобы не занимали место, которое на googlecode ограничено. Когда выходит новый релиз к старому добавляется тег "Deprecated" после чего он пропадает из списка загрузок по умолчанию, но по прежнему доступен для скачивания по внешним ссылкам на других сайтах и можно его увидеть выбрав в раскрывающемся списке на странице загрузок пункт "Deprecated downloads".
Старый релиз для Mac OS X 64-bit я уже сам пометил как Deprecated.
[11:57:34] <pavelvat> Diger: то же самое для Haiku - промежуточные надо удалять, старые релизы помечать тегом Deprecated. зачем в имени файла точка перед номером версии, и dc++ с маленьких букв?
[12:05:06] pavelvat вышел(а) из комнаты
[12:51:01] Клёк вошёл(а) в комнату
[13:44:01] Клёк вышел(а) из комнаты
[13:45:02] Клёк вошёл(а) в комнату
[13:53:40] Kroll вышел(а) из комнаты: Replaced by new connection
[13:53:50] Kroll вошёл(а) в комнату
[14:02:00] dhamp вошёл(а) в комнату
[14:19:22] Клёк вышел(а) из комнаты
[14:26:13] Alexey вошёл(а) в комнату
[15:55:05] tehnick вошёл(а) в комнату
[15:56:50] <tehnick> pavelvat: я тебя кстати просил, в названии файла портабельной версии добавлять слово portable. Это действительно необходимо, потому что часто установочные файлы и подобные архивы распространяются через локалки...
[15:57:14] TroLLik вошёл(а) в комнату
[15:59:03] tehnick вышел(а) из комнаты
[17:42:51] rzed вошёл(а) в комнату
[17:47:55] <rzed> tehnick: по первой ссылке троли водятся )))
[17:52:11] <rzed> на второй ссылке улыбнул ответ: "Но в новостях хотелось бы видеть хоть какое-то разнообразие, а то они так сильно похожи друг на друга..." хочется на такой комент переспросить = "Сисек навставалять меж параграфами?"
[17:54:57] <dhamp> rzed: тролли водятся везде
[17:57:26] <rzed> как показывает практика троли водятся там где их кормят. хотя в редких случаях троли друг друга грызут и тогда их только тяжелой артилерией можно разогнать.
[18:33:59] <dhamp> чёто бред я написал на linux.org.ru вроде..... =)
[18:50:42] gray_graff/work вышел(а) из комнаты
[18:54:29] gray_graff/work вошёл(а) в комнату
[19:04:15] Клёк вошёл(а) в комнату
[19:29:50] gelraen вышел(а) из комнаты
[19:32:02] <dhamp> всё таки херово что сначала делается поиск а только после ещё и добавляется в очередь
[19:39:11] gelraen вошёл(а) в комнату
[19:44:47] Клёк вышел(а) из комнаты
[19:45:06] Клёк вошёл(а) в комнату
[19:46:13] TroLLik вышел(а) из комнаты
[19:52:55] Клёк вышел(а) из комнаты: Replaced by new connection
[19:53:05] Клёк вошёл(а) в комнату
[19:54:39] ONYX вошёл(а) в комнату
[19:56:17] slil_work вошёл(а) в комнату
[20:11:55] Клёк вышел(а) из комнаты
[20:23:31] pavelvat вошёл(а) в комнату
[20:24:14] <pavelvat> dhamp:
"[19:32:02] <dhamp> всё таки херово что сначала делается поиск а только после ещё и добавляется в очередь"
это ты о чём?
[20:49:07] slil_work вышел(а) из комнаты
[20:52:34] <dhamp> pavelvat: как ни странно о поиске я
[20:53:16] <pavelvat> dhamp: я не распарсил что ты хотел сказать.
[21:04:33] Клёк вошёл(а) в комнату
[21:13:11] pavelvat вышел(а) из комнаты
[21:58:23] Клёк вышел(а) из комнаты
[22:20:07] tehnick вошёл(а) в комнату
[22:21:04] <tehnick> dhamp: разве у валкнута реализация функции хэширования файлов сильно отличается?
[22:36:16] <dhamp> tehnick: не могу сказать что она быстрее и даёт меньшую нагрузку
[22:41:14] <dhamp> tehnick: эталонная реализация tigerhash на с++ одна и именно она используется с небольшими изменениями в dcpp, в valknut используются теже классы
[22:44:49] pavelvat вошёл(а) в комнату
[22:47:41] <Nikoli> dhamp: зачем в 2.23 CLI_DAEMON удалили 4d6d0de0704262245341799d7adce0ae27e71273 ? в пакетах теперь только gtk и qt оставлять?
[22:48:50] <dhamp> Nikoli: моя твоя не понимать же )
[22:49:01] <tehnick> Nikoli: он и не работал.
[22:49:02] <pavelvat> tehnick: возможно что код отвечающий за хеширование по непонятной причине работает с тормозами только на *nix-системах, потому что у меня Windows сборка EiskaltDC++ на Winows XP хеширует без тормозов на том же компьютере, на котором Linux сборка завешивает систему так что курсор с тормозами передвигается. А ещё более возможно что дело не в екод
[22:49:19] <dhamp> Nikoli:  там было 1,5 команды
[22:49:37] <pavelvat> * не в коде, а в самом Linux - в его подсистеме ввода/вывода.
[22:49:45] <Nikoli> так что в пакеты класть теперь?
[22:49:47] <tehnick> pavelvat: у меня ничего не тормозит. Моему ноуту 6 лет...
[22:50:09] <Nikoli> xmlrpc отпадает, т.к. нет >=19 либы в портежах
[22:50:11] <tehnick> Nikoli: пакеты в генте? Ты о чем вообще?..
[22:50:15] <dhamp> Nikoli:  то же что и было
[22:50:18] <Nikoli> tehnick: ну да
[22:50:32] <tehnick> Nikoli: ну так и оставь демона как был раньше
[22:50:47] <tehnick> Nikoli: xmlrpc, я надеюсь, мы заменим на json
[22:51:01] <dhamp> tehnick: надеется не вредно =)
[22:51:14] <tehnick> *яться
[22:51:34] <Nikoli> т.е. вместо CLI_DAEMON использовать NO_UI_DAEMON?
[22:52:13] <tehnick> Nikoli: да
[22:52:33] <dhamp> Nikoli: CLI_DAEMON автоматом включал  NO_UI_DAEMON
[22:52:45] <Diger> хз, у меня ни че не вешает
[22:52:59] <tehnick> Diger: на гайке?
[22:53:00] <dhamp> Diger: ну есть неосиляторы
[22:53:03] <Diger> ну
[22:53:34] <Diger> ну гуй тормозит пока хешируется, не более того
[22:53:44] <Diger> хеширует быстро
[22:53:45] <tehnick> Diger: ты где-нибудь анонсировал релиз айскальта и новую сборку под гайку?
[22:53:57] <tehnick> Гуй тормозит? о_О
[22:54:06] <tehnick> Это же разные потоки...
[22:54:23] <Diger> хз, вкладки не сразу откликаются
[22:54:50] <Nikoli> dhamp: я прочитал изменения в cmake перед тем как спрашивать тут)
[22:54:58] <dhamp> tehnick: если скорость хэша большая то такое может быть
[22:55:22] <Diger> tehnick: анонсировать не буду, ввиду наличия небольшого косяка
[22:55:33] <tehnick> Diger: что за косяк?
[22:56:10] <Diger> ну скажем так - собирал на свежей гайке - из транка, а у народа не у всех такая
[22:56:22] <Diger> еще без тредов
[22:56:36] <dhamp> Diger: без каких тредов ?
[22:56:55] <Diger> ну недавно в гайке таки допилили сигналы
[22:57:23] <tehnick> Но не все еще обновились.
[22:57:39] <tehnick> Diger: ты таки пропихнул тот патч, что мы обсуждали?..
[22:57:41] <Diger> короче, на "старой" гайке, если закрыть прогу в течении 2 секунд после старта - она падает
[22:57:53] <Diger> :)
[22:58:14] <Diger> нажелся такой сука тестер
[22:58:18] <Diger> *шел
[22:59:05] <Diger> завтра  соберу на "старой" гайке и перезалью
[23:00:16] <Diger> tehnick: патч не пропихивал, видимо где-то цмейк подхватил их хидеров
[23:00:29] <dhamp> tehnick: раз ты за json, предложи как должен выглядеть запрос к демону ввиде json, и как на этот запрос послать ответ, причём необходимо точно знать что ответ пришёл именно на этот запрос, а не на другой запрос который пришёл одновременно с этим =)
[23:07:23] <Nikoli> хм, что-то иконка в трее показывается _очень_ поздно
[23:07:47] <Nikoli> т.е. после того, как все хабы подключились
[23:10:27] ololo вошёл(а) в комнату
[23:12:52] <pavelvat> Diger:
"[22:52:42] <Diger> хз, у меня ни че не вешает" - так и у меня на Athlon 2.4 GHz не вешает и хеширует со скоростью за 50 MB/s, а вот на старом компьютере вешает.
[23:13:39] <ololo> подскажите какой профит от sqlite?
[23:13:47] <Diger> pavelvat: у меня примерно такой же, найду старый, проверю
[23:17:08] pavelvat вышел(а) из комнаты
[23:23:59] pavelvat вошёл(а) в комнату
[23:24:26] <dhamp> ololo: а в чём должен выражаться профит ?
[23:25:18] <ololo> ну быстрее хеширование, или поиск, устройчивость к внезапным выключениям
[23:27:01] <dhamp> ololo: sqlite используется только для хранения списка скачанного и отданного и только в qt интерфейсе
[23:32:06] <ololo> спасибо
[23:36:32] <rzed> dhamp: так а в чем проблема делать в запросах\ответах уникальный id
[23:37:46] <rzed> тогда и понятно какому запросу какой ответ принадлежит даже если запросы по сути идентичны
[23:39:51] <dhamp> http://code.google.com/p/eiskaltdc/issues/detail?id=1096#c0 - он почти первый =)
[23:40:55] <dhamp> rzed: можно и уникальный id
[23:41:25] <rzed> я у json с xmlrpc вроде отличий идейно не заметил, визуально только скобки другие и теги закрывать надо в xml
[23:42:47] <dhamp> rzed: отличия такие что используя xmlrpc-c не нужно городить велосипед для обмена запросами в xml, для json нужно
[23:46:54] <rzed> ладно тут я не советчик, у меня руки не дошли до того, что бы разобраться как ботом по xml управлять
[23:52:08] <pavelvat> dhamp: нашёл в чём была проблема с DHT: сначала я собирал EiskaltDC++ просто заменив несколько файлов в ядре файлами из  StrongDC++ и проблема с DHT Bootstrap error ушла, а сейчас я нашёл функцию и строку в которой была проблема, похоже что это ты зачем-то заменил реализацию функции decodeUrl из файла Util.cpp на собственную, конкретно проблема в этой строке:
path = url.substr(fileStart, fileEnd - fileStart);
она обрезает исходную строку:
bootstrap/?cid=6H6VMJAPC6DFMDT4UTWBTA5PYSVLIKV6722XUOY&encryption=1&u4=6250
до такой:
bootstrap/
зачем ты так сделал не мне не понятно.
Вот этот участок кода который делает fileEnd из указанной выше строчки меньше чем размер строки, что и приводит к обрезанию:
queryEnd = url.size();
        size_t queryStart = url.rfind('?', queryEnd);
        size_t fileEnd;
        if(queryStart == string::npos) {
                fileEnd = queryStart = queryEnd;
        } else {
                dcdebug("q");
                fileEnd = queryStart;
                queryStart++;
        }
Зачем вообще потребовалось искать символ "?" в url и вырезать из url текст от текущей позиции до этого знака "?", вместо того чтобы вырезать из url текст от текущей позиции до конца url
[23:52:31] <rzed> я английски не очень быстро понимаю вот тут о чем пишут? http://www.ibm.com/developerworks/xml/library/x-xml2jsonphp/
[23:52:56] dhamp вышел(а) из комнаты
[23:56:13] <pavelvat> dhamp: я залью исправление для DHT, а ты потом сам разберёшься если оно что сломает.
[23:58:46] <rzed> ...а простите не просёк там и на русском есть эта статья
Powered by ejabberd Powered by Erlang Valid XHTML 1.0 Transitional Valid CSS!