gentoo.ru
Официальная конференция Direct Connect клиента EisKaltDC
eiskaltdc@conference.gentoo.ru
Суббота, 24 апреля 2010< ^ >
tehnick установил(а) тему: Last stable release: 2.0.1 || Конференция разработчиков EiskaltDC++ || логи: http://marsoft.dyndns.info/cgr-calendar.php?room=eiskaltdc || Лог изменений в последней ревизии на свн: http://code.google.com/p/eiskaltdc/source/list || Общая активность в проекте: http://code.google.com/p/eiskaltdc/updates/list
Release schedule:
18.05 Release EiskaltDC++ 2.0.2
Конфигурация комнаты
Участники комнаты

GMT+4
[00:25:41] <tehnick> gelraen: пинг
[00:26:49] SPU вышел(а) из комнаты
[00:34:51] <gelraen> понг
[00:34:57] gelraen вышел(а) из комнаты
[00:35:07] gelraen вошёл(а) в комнату
[00:37:20] <tehnick> gelraen: час прошел...
[00:37:23] <gelraen> угу
[00:37:38] <gelraen> на фре работает, у меня и так локаль ru_RU.UTF-8
[00:37:46] <gelraen> сейчас посмотрю trunk на маке
[00:37:51] <tehnick> Отлично.
[00:39:39] <gelraen> похоже работает
[00:40:16] <gelraen> хм, только при завершении падает
[00:41:34] <tehnick> До или после сохранения настроек?
[00:42:12] <tehnick> Можно прикинуть по размеру окна, положению разделителей и панелей...
[00:43:30] Клёк вошёл(а) в комнату
[00:43:42] <gelraen> окно успевает исчезнуть
[00:44:24] <gelraen> в настройках шары только корневой раздел отображается
[00:44:27] <mva> gelraen: попробуй поменяй виджеты местами и выйди
[00:44:38] <mva> если будут как ты оставил - настройки сохранились
[00:44:43] <mva> если нет, то нет :)
[00:44:51] <tehnick> gelraen: неправда, увеличь ширину столбца.
[00:45:07] <tehnick> Или переключи кв упрощенный режим...
[00:45:24] <gelraen> tehnick: переключил, да
[00:45:43] <gelraen> но в дереве на верхнем уровне показывало только /
[00:45:49] <gelraen> /Volumes я там не нашел
[00:46:20] <mva> это к кутям :)
[00:46:41] <gelraen> после того как добавил - показало /Volumes
[00:46:47] <gelraen> хотя может я плохо смотрел
[00:48:21] <tehnick> gelraen: или не там смотрел...
[00:48:42] <tehnick> gelraen: диалоги хоть используются родные?
[00:48:47] <tehnick> Или кутешные?..
[00:48:54] <gelraen> родные
[00:49:03] <tehnick> Это хорошо.
[00:49:14] <gelraen> нету /Volumes
[00:49:22] <gelraen> сейчас скрин сделаю
[00:49:30] <tehnick> Я верю.
[00:49:52] <tehnick> Просто может быть он и не нужен на том же уровне, что и корень...
[00:50:08] <mva> а на каком нужен?
[00:50:09] <mva> :)
[00:52:45] <gelraen> http://img6.imageshack.us/img6/5160/scr1y.png
[00:53:00] <gelraen> tehnick: так его вообще нигде нету
[00:53:17] <gelraen> /Volumes - это директория в корне куда всё монтируется
[00:56:27] <dhamp> gelraen, ты уверен что она должна быть ?
[00:56:54] <gelraen> dhamp: какбе, директория есть, а в отображаемом дереве её нету
[00:57:26] <dhamp> gelraen, через qt диалог открытия её видно ?
[00:57:29] <gelraen> т.е. расшарить что-либо не из корневого раздела изначально можно только переключившись в упрощённый режим
[00:57:45] <gelraen> мммм... сейчас
[00:57:58] <dhamp> не
[00:58:06] <dhamp> просто открыть файл лист с диска
[00:58:18] <dhamp> файл->1 пункт
[00:58:29] <gelraen> неа, не видно
[00:58:30] <dhamp> и там видно в корне эта папка?
[00:59:03] <dhamp> значит либо она виртуальная ) либо qt её в упор не видит
[00:59:09] <gelraen> ммм
[00:59:26] <gelraen> % ls -ld /Volumes
drwxrwxrwt@ 8 root  admin  272 Apr 23 23:41 /Volumes
[00:59:33] <gelraen> вполне себе реальная директория
[01:00:06] <gelraen> но таки похоже что это qt виновато
[01:00:06] <tehnick> gelraen: не факт.
[01:00:18] <gelraen> что именно не факт?
[01:00:33] SolarRay вышел(а) из комнаты: Replaced by new connection
[01:00:34] <tehnick> gelraen: что реальная.
[01:00:43] SolarRay вошёл(а) в комнату
[01:00:53] WiseLord вышел(а) из комнаты
[01:00:56] <dhamp> gelraen, через что ls вводил?
[01:01:00] <gelraen> ssh
[01:01:07] <dhamp> омг )
[01:01:19] <dhamp> до чего только народ не додумается
[01:01:22] <gelraen> tehnick: ну, никакой прослойки в vfs я там не увидел
[01:01:32] <gelraen> похоже таки реальная папка на hfs
[01:01:33] <dhamp> не значит что её нету
[01:01:35] <gelraen> dhamp: чочо?
[01:01:59] <dhamp> gelraen, через ssh это интересный подход
[01:02:00] <gelraen> прадлагаешь мне и для доступа к терминалу по vnc ходить?)
[01:02:07] <gelraen> мне проще таки ssh
[01:02:27] <gelraen> отвлекая девушку на vnc только в случае необходимости
[01:02:42] <tehnick> gelraen: а можешь скриншот главного окна выложить? Чтобы посмотреть хоть как оно выглядит...
[01:02:57] <dhamp> tehnick, вилен же выкладывал
[01:03:04] <gelraen> tehnick: ща
[01:03:05] <dhamp> с своих issue
[01:03:11] <dhamp> в*
[01:07:44] <gelraen> http://img163.imageshack.us/i/scr2o.png/
[01:07:50] WiseLord вошёл(а) в комнату
[01:08:33] <tehnick> gelraen: спасибо.
[01:08:43] <tehnick> Страшненько выглядит...
[01:08:52] <tehnick> И панель быстрого поиска отключена.
[01:09:41] <tehnick> gelraen: а где меню?
[01:09:51] <gelraen> меню вверху экрана :)
[01:09:58] <gelraen> как и всегда :)
[01:10:49] <tehnick> Украина. =)
[01:11:16] <gelraen> угу
[01:11:20] <tehnick> Какая область, не секрет?
[01:11:29] <gelraen> dmg с r882 выложить?
[01:11:31] <gelraen> Киев
[01:11:35] <gelraen> КНУ
[01:11:45] <tehnick> gelraen: да, выложи
[01:11:50] <dhamp> tehnick, http://tehnick-8.narod.ru/eiskaltdcpp/
цитата
Запрос на добавление пакета q4wine в дебиан уже имеется. Будем ждать ответа официальных мейнтейнеров.
конец цитаты
и как это вообще соотносится ???
[01:11:53] <tehnick> Я добавлю в загрузки.
[01:12:09] <tehnick> dhamp: с чем?
[01:12:31] <dhamp> эта фраза c eiskaltdcpp
[01:12:34] <tehnick> dhamp: обнови страницу.
[01:12:45] <dhamp> и ?
[01:12:55] <tehnick> Ты из кеша смотрел.
[01:12:58] <gelraen> tehnick: http://depositfiles.com/files/30zfm94i6
[01:13:00] <dhamp> я по прежнему её вижу
[01:13:02] <tehnick> Я давно поправил.
[01:13:38] <tehnick> dhamp: Запрос на добавление пакета eiskaltdcpp в дебиан уже имеется. Будем ждать ответа официальных мейнтейнеров.
[01:13:50] <tehnick> Вопросы к твоему браузеру...
[01:14:49] <dhamp> tehnick, морская мартышка )
[01:15:28] <tehnick> gelraen: спасибо.
[01:15:45] <tehnick> dhamp: нормальный вроде браузер.
[01:15:52] <gelraen> рад помочь
[01:16:47] <tehnick> Черт, хромиум глючит. =(
[01:18:29] <0xd34df00d> Гггг.
[01:18:51] <tehnick> 0xd34df00d: ?
[01:18:59] <0xd34df00d> Да не.
[01:19:07] <0xd34df00d> Тут в соседнем окошечке была милая беседа о браузерах.
[01:19:22] <WiseLord> )
[01:19:40] <tehnick> 0xd34df00d: и огнелис всех зарулил?.. =)
[01:19:50] <0xd34df00d> Всех зарулили понятия об опенсорсе )
[01:19:59] <WiseLord> у меня в Fx ScrapBook решает
[01:20:30] <WiseLord> все эти адблоки и прочее не так важно, хотя и здорово
[01:20:44] <WiseLord> но вот аналогов ScrapBook в Fx как-то не видел в других браузеров
[01:22:30] <WiseLord> удобнейший способ хранить веб-коллекцию http://www.pictureshack.ru/images/9983xsnap.png
[01:24:03] <gelraen> это один из плагинов которые делают что-то в файрфоксе похожим на то, как оно в опере сделано? :)
[01:24:19] <WiseLord> в том-то и дело, что не сделано
[01:24:30] <WiseLord> ни в опере, ни где бы то ни было ещё
[01:24:34] <gelraen> да ну?
[01:24:49] <gelraen> закладки на боковой панели отображаются точно так же
[01:24:56] <WiseLord> это не закладки
[01:25:03] <WiseLord> это локально сохранённые страницы
[01:25:08] <gelraen> ааа
[01:25:13] <gelraen> тогда ладно :)
[01:25:16] <WiseLord> причём сохранять можно не всю страницу
[01:25:28] <WiseLord> а только текст, например, или удалить ненужные блоки
[01:25:40] <tehnick> WiseLord: а что будет, если архивчик повредить?
[01:25:41] <WiseLord> или захватить на уровень-два-N по ссылкам
[01:25:47] <WiseLord> там не архив
[01:25:53] <tehnick> БД?
[01:26:08] <WiseLord> там набор папок вида YYYYMMDDHHMMSS
[01:26:10] <tehnick> Несжатая?
[01:26:20] <WiseLord> в них сохраняются страницы
[01:26:25] <WiseLord> и ведётся база данных
[01:26:48] <WiseLord> и несколько её копий резервных имеется
[01:27:08] <WiseLord> сколько сам пользуюсь, и сколько отзывов слышал - ни у кого пока _с_базой_ проблем не было вообще
[01:28:48] FiliN вышел(а) из комнаты
[01:28:58] FiliN вошёл(а) в комнату
[02:28:33] SolarRay вышел(а) из комнаты
[02:37:57] A-lexey вышел(а) из комнаты: Я счастливый пользователь Miranda IM. Возьми её тут http://miranda-im.org/.
[02:38:07] A-lexey вошёл(а) в комнату
[02:38:21] A-lexey вышел(а) из комнаты: Я счастливый пользователь Miranda IM. Возьми её тут http://miranda-im.org/.
[03:02:08] <WiseLord> tehnick: gelraen: http://www.youtube.com/watch?v=ZSOP0qpLBGk
[03:07:06] <dhamp> WiseLord, а что там ?
[03:14:24] mva вышел(а) из комнаты
[03:18:42] mva вошёл(а) в комнату
[04:10:16] 0xd34df00d вышел(а) из комнаты
[04:26:32] 0xd34df00d вошёл(а) в комнату
[04:33:58] dhamp вышел(а) из комнаты
[05:46:15] gray_graff вошёл(а) в комнату
[06:13:02] zonaspb вышел(а) из комнаты
[06:13:27] gray_graff вышел(а) из комнаты
[06:14:25] zonaspb вошёл(а) в комнату
[06:33:17] gray_graff вошёл(а) в комнату
[08:47:17] NegatiV вошёл(а) в комнату
[10:30:13] SPU вошёл(а) в комнату
[10:30:24] SPU вышел(а) из комнаты
[10:30:50] SPU вошёл(а) в комнату
[10:31:07] SPU вышел(а) из комнаты
[10:32:14] nE0sIghT вошёл(а) в комнату
[10:32:54] SPU вошёл(а) в комнату
[10:40:57] SolarRay вошёл(а) в комнату
[10:48:33] Клёк вышел(а) из комнаты
[12:11:22] SPU вышел(а) из комнаты
[12:38:30] mva вышел(а) из комнаты
[12:59:41] mva вошёл(а) в комнату
[12:59:51] mva вышел(а) из комнаты
[13:12:49] RT200 вошёл(а) в комнату
[13:13:13] <RT200> Всем привет
[13:13:51] <RT200> нашел небольшой баг - на некоторых хабах у меня окно eiskaltdc не влазит в размер экрана
[13:14:23] <RT200> нашел похожий баг - http://code.google.com/p/eiskaltdc/issues/detail?id=431
[13:16:06] <RT200> насколько я понял это связано с QLabel label_LAST_STATUS в HubFrame.ui
[13:17:00] <RT200> некоторые хабы в статусные сообщения добавляют строки из символов без пробелов (например, из "=")
[13:17:31] <RT200> такие строки не переносятся в QLabel, так как считаются одним словом
[13:18:09] <RT200> и из-за них QLabel расширяется так, что окно выходит за границы экрана
[13:19:25] <RT200> Небольшой workaround - воспользоваться опцией "Скрыть последнее статусное сообщение"
[13:20:29] <RT200> btw, аккаунта гугла у меня нет и он мне нафиг не нужет, кому не трудно, перенесите эти комментарии в http://code.google.com/p/eiskaltdc/issues/detail?id=431
[13:39:24] FiliN вышел(а) из комнаты
[13:39:46] FiliN вошёл(а) в комнату
[13:40:05] FiliN вышел(а) из комнаты
[13:42:42] FiliN вошёл(а) в комнату
[14:04:18] dhamp вошёл(а) в комнату
[14:05:05] dhamp вышел(а) из комнаты
[14:05:16] dhamp вошёл(а) в комнату
[15:03:26] <tehnick> RT200:  ошибаешься, длинные строки без пробелов нормально переносятся в QLabel
[15:03:35] <tehnick> RT200: покажи скриншот
[15:04:16] <tehnick> RT200: после очистки чата, когда label_LAST_STATUS тоже очищается, окно можно уменьшить?
[15:04:54] <RT200> ну, скриншот из 431 issue - http://eiskaltdc.googlecode.com/issues/attachment?aid=5356697916082738558&name=20100421_EPP_sidebarbug.png&inline=1
[15:05:20] <tehnick> RT200: а твой скриншот?
[15:05:44] <RT200> сейчас сделаю
[15:06:04] <RT200> эм.. а как очистить окно чата?
[15:06:18] <tehnick> tehnick: желательно со всплывающей подсказкой, в которой полный текст.
[15:06:39] <RT200> ага, я просто отключил чат
[15:06:43] <tehnick> RT200: кнопкой из панели инструментов или в меню чата
[15:07:12] <RT200> нешал
[15:07:15] <RT200> *нашел
[15:08:28] <tehnick> Хм, удалось воспроизвести.
[15:08:39] <tehnick> Надо подумать, как можно починить.
[15:09:07] <tehnick> RT200: но у меня за границы экрана не вылазит.
[15:09:23] <tehnick> Наверняка, это зависит от WM.
[15:09:52] <RT200> у меня KDE4
[15:10:08] <tehnick> Хм, у меня тоже.
[15:10:55] <RT200> 1440х900
[15:11:21] <RT200> вот как выглядит когда выходит за пределы экрана http://img.hosting71.ru/i/2717/101972.png
[15:11:40] <RT200> а вот с подсказкой http://img.hosting71.ru/i/2717/101973.png
[15:11:48] <tehnick> RT200: это при развернутом окне?
[15:11:55] <RT200> да
[15:12:01] <tehnick> Странно.
[15:12:31] <dhamp> у меня даже когда я в float режим перевожу отдельное окна ничего за пределы не вылазит
[15:12:37] <dhamp> как вам это удаётся ?
[15:12:48] <RT200> оно само :)
[15:13:06] <RT200> какие у вас разрешения по-горизонтали?
[15:13:18] FiliN вышел(а) из комнаты
[15:13:37] FiliN вошёл(а) в комнату
[15:13:39] <tehnick> У меня вообще-то 15 дюймов экран на ноуте.
[15:13:47] <tehnick> Так что 1024х768
[15:13:59] <dhamp> 15,4 1680x1050
[15:14:02] <dhamp> )
[15:14:55] <RT200> можете зайти на 212.12.19.250 и проверить что будет
[15:18:25] <dhamp> DejaVu Sans [unknown],8,-1,5,50,0,0,0,0,0
[15:18:29] <tehnick> Анимешный шаб. =)
[15:18:37] <tehnick> Проблема есть, да.
[15:18:39] <dhamp> ничего при таком шрифте не вылазит
[15:18:53] <dhamp> больше лезет ни взирая ни на что )
[15:18:54] <tehnick> dhamp: это не вариант.
[15:24:31] <RT200> может отфильтровывать такие строки?
[15:24:38] <RT200> регэкспом
[15:24:52] <tehnick> Нет.
[15:25:10] <RT200> типа "не буквы и не цифры, без пробелов и больше 50 символов"
[15:25:30] <RT200> только для метки
[15:25:41] <RT200> в подсказку вставлять полную версию
[15:48:13] <tehnick> WiseLord: тут?
[15:48:24] <WiseLord> да
[15:50:01] <tehnick> Есть мысль использовать дополнительную иконку на виджете хаба, если было получено сообщение, в котором упомянут ник пользователя.
[15:50:52] <WiseLord> типа иконка сервера с "письмом"?
[15:50:53] <tehnick> WiseLord: это может быть тот же конвертик, только в каким-то добавлением. Или другим цветом.
[15:51:30] <tehnick> WiseLord: Лучше наоборот.
[15:51:51] <tehnick> Конверт оставить для случая упоминания ника.
[15:52:24] <tehnick> А 'иконку сервера с "письмом"' использовать когда просто текст добавился...
[15:52:54] <WiseLord> т.е. message.png - оставляем для привата?
[15:54:08] <tehnick> WiseLord: да, типа того.
[15:54:15] <WiseLord> это..
[15:54:17] <tehnick> Оно же будет в общем чате.
[15:54:19] <WiseLord> где иконка будет появляться?
[15:54:21] <WiseLord> на вкладках?
[15:54:25] <tehnick> Везде.
[15:54:28] <WiseLord> или в трее?
[15:54:32] <tehnick> Не-не-не.
[15:54:43] <tehnick> На виджетах.
[15:54:49] <tehnick> Трей пока не трогаем.
[15:54:53] <WiseLord> так..
[15:55:05] <WiseLord> может тогда и текущую переделать
[15:55:08] <WiseLord> сейчас - в виде письма
[15:55:11] <tehnick> Т.е. в меню виджеты, в боковом доке или на таббаре.
[15:55:15] <WiseLord> сделать в виде письма с фоновым "юзером"
[15:55:19] <tehnick> Нет.
[15:55:26] <WiseLord> и ещё одну добавить в виде письма с фоновым "сервером"
[15:55:28] <tehnick> Текущую оставим.
[15:55:32] <tehnick> Да.
[15:56:08] <tehnick> Добавь саму иконку и в WulforUtil.
[15:56:20] <tehnick> С логикой я сам разберусь.
[16:04:48] <tehnick> WiseLord: ты кстати можешь найти лицензию и копирайты тех иконок из кед, которые мы используем?
[16:05:43] <WiseLord> tehnick:
[16:05:46] <WiseLord> http://www.pictureshack.ru/images/57xsnap.png
[16:05:51] <WiseLord> что тебе больше по душе?
[16:06:42] <WiseLord> бОльшую часть я брал этих, остальные по сути путём наложения: http://www.pictureshack.ru/images/8308xsnap.png
[16:06:52] <tehnick> servermsg.png
[16:07:31] <WiseLord> добавить её?
[16:07:43] <WiseLord> может вместо message.png аналогично usermsg.png ввести?
[16:08:27] <tehnick> WiseLord: добавь
[16:08:34] <tehnick> Обе.
[16:09:13] <WiseLord> ок
[16:09:27] <WiseLord> назову их hubmsg и pmmsg
[16:09:27] <tehnick> Только я пока не знаю, как ее использовать в комнатах.
[16:09:50] <tehnick> Потому что они ничем от привата по сути не отличаются.
[16:10:01] <tehnick> А значит, нужно придумать костыль.
[16:10:05] <WiseLord> комнаты ботами реализуются?
[16:10:17] <WiseLord> типа OpChat?
[16:13:36] <WiseLord> добавил иконки
[16:14:10] <WiseLord> хм
[16:14:21] <WiseLord> чего-то .cpp и .h файлы не отослались
[16:15:07] <tehnick> Ага.
[16:15:15] <WiseLord> странно.. я же их отредактировал
[16:15:23] <WiseLord> аа
[16:15:29] <tehnick> Не сохранил?
[16:15:34] <WiseLord> блин.. svn ci из icons папки делал
[16:15:39] <tehnick> Ясно.
[16:15:49] <WiseLord> всё.. уехали тоже
[16:17:23] nE0sIghT вышел(а) из комнаты
[16:22:09] mva вошёл(а) в комнату
[16:22:57] <NegatiV> WiseLord: /home/negativ/Desktop/eiskaltdcpp/eiskaltdcpp/WulforUtil.cpp: In member function ‘bool WulforUtil::loadIcons()’:
/home/negativ/Desktop/eiskaltdcpp/eiskaltdcpp/WulforUtil.cpp:292: ошибка: нет декларации ‘eiPMMSG’ в этой области видимости
[16:24:09] <WiseLord> хм
[16:24:15] <WiseLord> а чегой-то оно так..
[16:24:38] <tehnick> WiseLord: я исправлю.
[16:24:43] <WiseLord> а отчего?
[16:24:50] <WiseLord> вроде ж и в h и cpp файлы добавил
[16:24:54] <tehnick> Забыл указать...
[16:25:16] <WiseLord> http://code.google.com/p/eiskaltdc/source/detail?r=833
[16:25:45] zonaspb вышел(а) из комнаты
[16:26:09] <tehnick> eiPMMSG и eiPMMGS
[16:26:17] <tehnick> Найди отличие.
[16:26:26] <tehnick> И тебе за это ничего не будет.
[16:29:08] zonaspb вошёл(а) в комнату
[17:07:35] <NegatiV> dhamp: у тебя 32-хбитная ОС?
[17:07:46] <dhamp> NegatiV, нет
[17:07:58] <NegatiV> WiseLord: ?
[17:08:15] <WiseLord> 64
[17:08:40] <dhamp> NegatiV, а что такое ?
[17:09:19] <NegatiV> мне нужно проверить работоспособность хеш-функции
[17:09:46] WiseLord только что видеокарту купил в старый сервер
[17:10:01] <WiseLord> правда, там иксов нет даже..
[17:10:38] <NegatiV> WiseLord: могу тебе в сентябре выслать свою NV8500 =)
[17:10:45] <WiseLord> не.. там агп
[17:10:57] <WiseLord> ща звонил по объяве 7600GS купить
[17:11:16] <WiseLord> оказалось, чел продаёт из моей же общаге, мало того, мы с ним вместе 3 года назад работали и хорошо друг друга знаем )
[17:11:28] <NegatiV> )) за сколько продает?
[17:11:31] <WiseLord> 40
[17:11:34] <WiseLord> уе
[17:11:36] <WiseLord> баксов
[17:16:19] <NegatiV> tehnick: проверь сборку r836
[17:25:43] FiliN_ вошёл(а) в комнату
[17:25:51] nE0sIghT вошёл(а) в комнату
[17:26:14] nE0sIghT вышел(а) из комнаты
[17:26:24] nE0sIghT вошёл(а) в комнату
[17:27:13] FiliN вышел(а) из комнаты
[17:40:07] Клёк вошёл(а) в комнату
[18:17:36] gelraen вышел(а) из комнаты
[18:30:26] Клёк вышел(а) из комнаты
[18:31:50] deseven вошёл(а) в комнату
[18:34:40] <Kroll> вот в чём прикол
[18:34:57] <Kroll> если нажать на поиск и подождать секунды три то клиент сегфолтится
[18:35:04] <Kroll> а если сразу же набрать слово и ввод то нет
[18:35:23] <Kroll> 100% всегда
[18:35:42] nE0sIghT вышел(а) из комнаты
[18:37:31] <RT200> у меня не упал
[18:37:39] <RT200> открыл уже два поиска
[18:40:53] <RT200> забавно
[18:41:17] <RT200> запустил в консоли и увидел кучу строк "ERROR: no info for free space"
[18:41:23] <RT200> что бы это значило?
[18:43:36] <dhamp> RT200, значит не существеует папки загрузок
[18:43:46] <dhamp> или всё же существует?
[18:44:00] <RT200> не знаю, я ничего не настраивал
[18:44:44] <RT200> правда, не существует
[18:47:00] <RT200> не мешало бы в конец этого сообщения "\n" добавить, а то все в одну строчку пишет
[18:47:16] WiseLord вышел(а) из комнаты: Replaced by new connection
[18:47:26] WiseLord вошёл(а) в комнату
[18:47:39] <RT200> ну и информативнее его сделать. Так и писать что папки нет
[18:48:01] <dhamp> RT200, так это gnulib пишет )
[18:48:59] <dhamp> а не )
[18:49:17] <dhamp> ошибся это всё-таки у меня загнато в mainwindow.cpp
[18:52:48] <RT200> может стоит добавить проверку существования пути? :)
[18:54:38] <RT200> я чуть мозг не взорвал :)
[18:55:03] <RT200> 1. #ifdef WIN32
[18:55:13] <RT200> 2. #else //WIN32
[18:55:21] <dhamp> RT200, отрицать 1 низя )
[18:55:28] <RT200> 3. #endif //WIN32
[18:55:33] <dhamp> RT200, не рви мозг )
[18:55:54] <dhamp> RT200, и вообще что тебе не нравится ? )
[18:55:58] <RT200> долго думал по проводу 2 и 3 - где что
[18:56:28] <dhamp> эм
[18:56:48] <dhamp> а чего там думать то ?
[18:57:36] <RT200> ну я по привычке зацепился взглядом за комментарий у 2, подумал что надо смотреть выше, но сообщение об ошибке было ниже :)
[18:57:45] <RT200> произошел разрыв шаблона
[18:58:02] <RT200> пришлось смотреть ifdef внимательней
[19:00:09] <dhamp> RT200, ERROR: /home/test/Downloads/ not found так лучше ?
[19:00:45] <RT200> doesn't exist ?
[19:01:28] <RT200> плюс я все-таки думаю что не надо вызывать этот метод если каталога нет
[19:01:30] <dhamp> не существует и не найден  не одно и тоже ?
[19:02:07] <dhamp> RT200, пока не вызовешь не узнаешь есть ли он
[19:02:16] <RT200> имхо нет. А вдруг программа просто плохо поискала? )
[19:02:45] <dhamp> RT200, плохо поискать нельзя
[19:02:51] <dhamp> либо он есть либо нету
[19:02:53] <RT200> можно с помощью QDir проверить
[19:03:39] <dhamp> RT200, можно и так
[19:03:49] <dhamp> только разницы никакой
[19:05:05] <RT200> мое дело предложить...
[19:11:19] <dhamp> в случае как сейчас берём путь используем если функция не выдала ничего значит путя нету, берём второй путь{точно существует} используем
в случае c qdir:  проверяем с помощью qdir путь на существование{ пререгнав std::string->qstring}, используем нужный путь в зависимости от того что вернула qdir на существование
разницы то нету
[19:35:00] <RT200> хехе, сейчас я покажу в чем разница
[19:35:23] <RT200> http://paste.org.ru/?h1n6tu
[19:35:44] Abram вошёл(а) в комнату
[19:36:15] <RT200> оно спамит этой ошибкой в консоль постоянно
[19:36:40] <RT200> если проверять существование пути до вызова процедуры, этих сообщений не будет
[19:38:43] <RT200> плюс по поводу std::string - почему бы строки сразу не держать в QString?
[19:39:22] <dhamp> RT200, см код )
[19:39:40] <dhamp> могу вообще убрать это сообщение
[19:41:19] <RT200> ну я бы его оставил. причем в том виде как сейчас - что не получилось определить свободное место (добавив )
[19:41:32] <RT200> (добавив \n в конец)
[19:41:43] <dhamp> RT200, и так добавил же
[19:42:34] <RT200> путь проверить не сложно. И это нужно сделать один раз  - при запуске (ну и при изменении настроек)
[19:47:05] <RT200> кстати, мне еще один кусочек показался интересным - http://paste.org.ru/?qzqjfn
[19:47:21] <RT200> первый раз вижу чтобы наследовали сразу пять классов )
[19:52:45] <NegatiV> RT200: либо ты мало живешь, либо мало кодишь)
[19:53:01] <NegatiV> это вполне реальная ситуация когда наследуется несколько классов
[19:53:31] <RT200> больше двух редко видел, но пять - первый раз
[19:55:42] <NegatiV> не забывай о специфике ядра dcpp - сообщения какого-либо типа может слушать класс строго определеннго типа
[19:56:14] <NegatiV> поэтому чтобы слушать логи наследуемся от LogManagerListener, таймер - TimerManagerListener и т.д.
[19:56:55] <RT200> я ничего не знаю про ядро dcpp
[19:57:26] <RT200> но можно было и классы-обертки сделать, которые будут переводить сообщения в сигналы
[19:57:40] <NegatiV> class TransferView : public QWidget,
                     private Ui::UITransferView,
                     public dcpp::Singleton<TransferView>,
                     public dcpp::ConnectionManagerListener,
                     public dcpp::DownloadManagerListener,
                     public dcpp::QueueManagerListener,
                     public dcpp::UploadManagerListener
[19:57:54] <NegatiV> 7 родителей
[19:57:55] <Kroll> Object::connect: No such slot SearchFrame::CTRL_F_pressed()
Object::connect:  (sender name:   'toolButton_CLOSEFILTER')
Object::connect:  (receiver name: 'SearchFrame')
QPixmap: It is not safe to use pixmaps outside the GUI thread
QPixmap: It is not safe to use pixmaps outside the GUI thread
QPixmap: It is not safe to use pixmaps outside the GUI thread
QPixmap: It is not safe to use pixmaps outside the GUI thread
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xacf99b70 (LWP 6349)]
0xb7755e36 in ?? () from /usr/lib/libQtGui.so.4
[19:57:59] <Kroll> чё это всё значит?
[19:58:07] <Kroll> QPixmap: It is not safe to use pixmaps outside the GUI thread
[19:58:36] <Kroll> интересный момент тут
[19:58:40] <NegatiV> RT200: а смысл? я юзаю кастомные события
[19:59:03] <NegatiV> Kroll: интресно, учитывая что все сообщения диспатчатся в основном потоке)
[19:59:21] <Kroll> тут другое интересно
[19:59:35] <Kroll> почему сегфолт только если окно в фокусе непосредственно
[20:00:02] <Kroll> если нажать поиск и успеть на другое окно перепрыгнуть то продолжает работу
[20:00:17] <NegatiV> Kroll: бектрейс плиз
[20:00:32] <Kroll> как только войти в фокус утт же QPixmap: It is not safe to use pixmaps outside the GUI thread несколько секунд и сегфолт
[20:01:01] <Kroll> (gdb) bt
#0  0xb7881741 in ?? () from /usr/lib/libQtGui.so.4
#1  0xb77c0519 in QPainter::begin(QPaintDevice*) () from /usr/lib/libQtGui.so.4
#2  0xb77c0cab in QPainter::QPainter(QPaintDevice*) () from /usr/lib/libQtGui.so.4
#3  0xb66532ee in ?? () from /usr/lib/kde4/plugins/styles/oxygen.so
#4  0xb0f34fc0 in ?? ()
#5  0x08634548 in ?? ()
#6  0xb0f35454 in ?? ()
#7  0x09c8dc50 in ?? ()
#8  0xb0f34d38 in ?? ()
#9  0xb69caf42 in free () from /lib/libc.so.6
Backtrace stopped: previous frame inner to this frame (corrupt stack?)
[20:01:49] <Kroll> если успеть в поиск вбить слово и запустить то сегфолта не будет
[20:02:11] <NegatiV> Kroll: попробу-ка другую тему для приложения...
[20:02:16] <Kroll> это другая
[20:02:17] <NegatiV> QtCurve например
[20:02:27] <Kroll> щас попробую и курву
[20:05:07] <Kroll> (gdb) bt
#0  0xb7755e36 in ?? () from /usr/lib/libQtGui.so.4
#1  0xb7876ebb in ?? () from /usr/lib/libQtGui.so.4
#2  0xb77ada75 in QPaintEngine::drawImage(QRectF const&, QImage const&, QRectF const&, QFlags<Qt::ImageConversionFlag>) ()
   from /usr/lib/libQtGui.so.4
#3  0xb7875175 in ?? () from /usr/lib/libQtGui.so.4
#4  0xb77c4da0 in ?? () from /usr/lib/libQtGui.so.4
#5  0xb77c6035 in QPainter::drawLines(QLineF const*, int) () from /usr/lib/libQtGui.so.4
#6  0xb4061bbc in ?? () from /usr/lib/kde4/plugins/styles/qtcurve.so
#7  0xa6adbeec in ?? ()
#8  0xa6ad9330 in ?? ()
#9  0x00000001 in ?? ()
#10 0x3ff00000 in ?? ()
#11 0x00000001 in ?? ()
#12 0x00000010 in ?? ()
#13 0x00000040 in ?? ()
#14 0xb7fa19e4 in ?? () from /usr/lib/libQtGui.so.4
#15 0xa6ad9388 in ?? ()
#16 0x0b88ab98 in ?? ()
#17 0x00000001 in ?? ()
#18 0x017c5f4a in ?? ()
#19 0x9999999a in ?? ()
#20 0x3fd99999 in ?? ()
#21 0x9999999a in ?? ()
#22 0x3fd99999 in ?? ()
#23 0x010001b0 in ?? ()
#24 0xa6ad9350 in ?? ()
#25 0xa6ad92f8 in ?? ()
#26 0x0000000c in ?? ()
#27 0xb7fa19e4 in ?? () from /usr/lib/libQtGui.so.4
#28 0x09b6a7b0 in ?? ()
#29 0x00000000 in ?? ()
[20:06:28] <Kroll> и ещё
[20:06:31] <Kroll> (gdb) bt
#0  0xb7755e36 in ?? () from /usr/lib/libQtGui.so.4
#1  0xb7876ebb in ?? () from /usr/lib/libQtGui.so.4
#2  0xb77c83fa in QPainter::drawPixmap(QPointF const&, QPixmap const&) () from /usr/lib/libQtGui.so.4
#3  0xb41b7007 in ?? () from /usr/lib/kde4/plugins/styles/qtcurve.so
#4  0xabbccf7c in ?? ()
#5  0xabbc9e90 in ?? ()
#6  0x093eec10 in ?? ()
#7  0xb4167dcf in ?? () from /usr/lib/kde4/plugins/styles/qtcurve.so
#8  0x00000000 in ?? ()
[20:06:37] <Kroll> разные вываливаются
[20:07:26] <NegatiV> Kroll: я гляну сегодня чего может быть не так
[20:50:50] <tehnick> [17:16:19] <NegatiV> tehnick: проверь сборку r836
В этот раз хоть скомпилилось.
[20:54:31] Клёк вошёл(а) в комнату
[21:07:30] <tehnick> NegatiV: в r836 новый вариант лучше только тем, что это С++ вместо Си?
[21:08:38] <tehnick> Какая-то абракадабра получилась. Сишный код нагляднее и компактнее.
[21:14:41] <NegatiV> tehnick: там тоже си
[21:15:01] <tehnick> Тогда в чем идея?
[21:15:23] <NegatiV> просто я изменил хеш-функцию для создания 32-битных хешей из 64-битных указателей
[21:15:53] <NegatiV> прошлый раз подобный трюк привел к ошибке компиляции
[21:16:37] <tehnick> Ага, помню.
[21:16:48] <NegatiV> 0xd34df00d: у тебя x86_64?
[21:18:06] <NegatiV> tehnick: вообще надо на трекере Qt чиркануть чтобы они поддержку 64-битных хешей прикрутили
[21:18:17] <0xd34df00d> NegatiV: да..
[21:19:11] <NegatiV> 0xd34df00d: где можно взглянуть на хеш-функцию для указателей, которую ты юзаешь?
[21:19:24] <0xd34df00d> Ннуэ, у меня такой нет.
[21:19:29] <0xd34df00d> И так все работает.
[21:19:49] <NegatiV> гм, а если будет коллизия?
[21:20:30] <NegatiV> ведь тогда у тебя два разных указателя могут дать один и тот же хеш-индекс
[21:21:47] <NegatiV> 0xd34df00d:
[21:21:48] <NegatiV> inline uint qHash(const boost::intrusive_ptr<dcpp::User> &ptr){
        ulong key = (ulong)(void*)ptr.get();
#if ULONG_MAX >= 18446744073709551615UL
        //hash a 64 bit virtual address to a hash table index
        key = (~key) + (key << 18); // key = (key << 18) - key - 1;
        key = key ^ (key >> 31);
        key = key + (key << 2) + (key << 4);
        key = key ^ (key >> 11);
        key = key + (key << 6);
        key = key ^ (key >> 22);
        return uint(key);
#else
        return uint(key);
#endif
    }
[21:22:06] <NegatiV> у меня сейчас такая, но думаю вдруг есть вариант побыстрее
[21:22:43] wilgib вошёл(а) в комнату
[21:24:28] SPU вошёл(а) в комнату
[21:27:51] <wilgib> NegatiV: эти issue уже закрыты, поэтому если в них появляются комментарии можно на это как-то реагировать? , а то в итоге так полуается что они просто игнорируются.
issue 221
issue 262
[21:28:31] <NegatiV> wilgib: дай мне ссылки на них
[21:29:00] <wilgib> http://code.google.com/p/eiskaltdc/issues/detail?id=221#c9
http://code.google.com/p/eiskaltdc/issues/detail?id=262#c6
[21:31:13] <NegatiV> wilgib: 262 я читал
[21:31:23] <NegatiV> так и будет скорее всего сделано
[21:32:23] <wilgib> NegatiV: т.е. если issue уже закрыт то ты держишь его в памяти? Не проще ли давать ему статус Accepted?
[21:32:41] <NegatiV> wilgib: я читаю только свои issue
[21:32:58] <NegatiV> я про фильтрацию по колонкам я еще на этапе проектирования подумал
[21:33:10] <NegatiV> но решил что на первый раз чем проще тем лучше
[21:35:32] <wilgib> NegatiV:  т.к. если статуса Accepted или New нет то оно постепенно уходит вниз в списке, а здесь http://code.google.com/p/eiskaltdc/issues/list его вообще уже нет, вот и получается что некоторые сообщения как бы игнорируются.
[21:36:41] <tehnick> NegatiV: http://code.google.com/p/eiskaltdc/issues/detail?id=262#c7 я поправлю.
[21:37:01] <NegatiV> wilgib: так что мешает открыть issue? если что-то подобное уже было, то новое issue замержится в старое и они получат статус accepted
[21:37:32] <NegatiV> tehnick: я сейчас в принципе в той степи, так могу и сам поправить)
[21:37:35] <wilgib> NegatiV: я не коммитер, у меня нет прав на это.
[21:37:41] <tehnick> wilgib: да, не стесняйся открывать новые issue.
[21:38:01] <tehnick> даже если нечто подобное уже было
[21:38:05] <NegatiV> wilgib: я тебе пытался объяснить то что сказал tehnick
[21:38:08] <tehnick> мы уже дальше разрулим...
[21:39:20] <wilgib> просто если коммит с этим issue был только что сделан то зачем создавать новый issue прямо тут же следом за предыдущим который отметили как Fixed
[21:39:28] <0xd34df00d> NegatiV: а зачем?
[21:39:36] <0xd34df00d> NegatiV: почему бы просто не кастануть void* к uint?
[21:39:48] <0xd34df00d> А, хм.
[21:39:51] <0xd34df00d> 64 бита коряво.
[21:40:39] <tehnick> wilgib: ладно если свежий, а старые лучше не поднимать без серьезной причины.
[21:40:56] <tehnick> wilgib: тебе же проще: не надо искать...
[21:41:07] <wilgib> NegatiV: tehnick: ладно, тогда теперь буду на каждую замеченную проблему создавать новый issue
[21:41:43] <0xd34df00d> NegatiV: у вас тоже коллизии могут быть. Кастовать ulong к uint после всех этих извращений как-то уныло. Либо я не отследил по алгоритму, что он гарантирует, что там всегда 32 бита.
[21:41:45] <NegatiV> 0xd34df00d: если просто кастануть то шанс получить одинаковые индексы для структур создающихся друг за другом очень высок
[21:42:03] <0xd34df00d> NegatiV: для структур друг за другом как раз нифига не высок.
[21:42:19] <0xd34df00d> Они отличаются младшими байтами, а срезаются старшие.
[21:42:26] <NegatiV> да, я тупанул
[21:43:13] <NegatiV> 0xd34df00d: тот алгоритм что сейчас используется, как то хитро миксует 32-битные слова
[21:43:14] <wilgib> tehnick: насчёт комментариев из http://code.google.com/p/eiskaltdc/issues/detail?id=262#c7
Что если кнопку стирания текста добавить во все фреймы с поиском/фильтром ?
[21:43:43] <0xd34df00d> NegatiV: физически невозможно сделать однозначное отображение произвольного 64-битного значения в произвольное 32-битное, очевидно.
[21:43:51] <0xd34df00d> Поэтому профит от хитрого алгоритма неочевиден.
[21:43:51] <NegatiV> это да
[21:44:08] <0xd34df00d> Особенно, если вы там потом ulong к uint кастуете )
[21:44:40] <NegatiV> ну так вероятность коллизии меньше чем от кастинга void* -> uint
[21:45:23] <NegatiV> 0xd34df00d: для этого микс и нужен, чтобы старшие биты хорошенько перемешать с младшими
[21:46:30] <tehnick> wilgib: не знаю, не такая уж нужная вещь эта кнопка..
[21:48:34] <wilgib> tehnick: в фильтре в поисковом виджете очень даже нужная, это зависит от того как часто использоват фильтры в различных фреймах и поиск в чате, тем кто часто ими пользуется эта кнопка будет удобна.
[21:49:43] <tehnick> wilgib: хорошо, понятно зачем она в поисковом виджете. Но в публичных хабах она не нужна...
[21:50:09] <wilgib> tehnick: не надо решать за всех, почему не нужна?
[21:50:38] <tehnick> wilgib: ты просто подумай, как часто вообще этим виджетом пользуются...
[21:50:47] SolarRay вышел(а) из комнаты: Replaced by new connection
[21:50:57] SolarRay вошёл(а) в комнату
[21:51:09] <tehnick> Один раз настроил и забыл...
[21:52:17] <wilgib> tehnick: с тебя что убудет если ты добавишь эту кнопку во все поиски/фильтры ? В одном есть в другом нет, а если мне надо чтобы было во всех фильтрах/поисках?
[21:53:41] <wilgib> tehnick: "Один раз настроил и забыл..." - не надо судить по себе, я вообще не использую публичные хабы для настройки, например, можно сначала захотеть отфильтровать по одной фразе, а потом тут же по другой.
[21:58:05] <wilgib> tehnick: вообще, идеальный вариант - это сделать эту кнопку внутри текстового поля ввода, как это сделано в KDE или GNOME, для этого надо один раз написать реализацию этого и потом просто использовать эту возможность в единой реализации для поисков/фильтров.
[22:06:59] <RT200> что же он так долго собирается :(
[22:07:18] <Nikoli> кто?
[22:08:13] <RT200> eiskaltdc
[22:09:30] <Nikoli> RT200: вроде не так уж и долго, хотя размер бинарника весьма велик
[22:10:37] <Nikoli> в моей системе только 19 бинарников в /usr/bin больше
[22:12:36] <RT200> размер меня не очень волнует
[22:13:37] <Nikoli> это почему?
[22:13:40] <NegatiV> RT200: еще бы не долго:
[negativ@negativ eiskaltdcpp]$ find dcpp/ -type f -name "*.cpp" | xargs cat | wc -l
19041
[negativ@negativ eiskaltdcpp]$ find eiskaltdcpp/ -type f -name "*.cpp" | xargs cat | wc -l
23311
[negativ@negativ eiskaltdcpp]$
[22:13:50] <NegatiV> это ж не hello-world
[22:14:26] <tehnick> RT200: ты часто пересобираешь?
[22:15:21] <NegatiV> хотя тот факт что при редактировании WulforUtil.h, WulforSettings.h приходится полностью пересобирать огорчает
[22:15:33] <NegatiV> *пересобирать клиент
[22:15:50] <RT200> нет, не часто
[22:16:07] <Nikoli> NegatiV: разделить на библиотеку и морды не планируешь?
[22:16:12] <NegatiV> Nikoli: strip -s --strip-all `which eiskaltdcpp`
[22:16:13] <RT200> просто одну строчку дописал, хочу проверить, а он не торопится (
[22:16:34] <NegatiV> Nikoli: и будет весить порядка 3-4 метров
[22:16:46] <Nikoli> NegatiV: 3786    /usr/bin/eiskaltdcpp
[22:16:55] <Nikoli> gentoo автоматом делает strip
[22:17:12] <NegatiV> ну тогда норм, 3 метра не так уж много
[22:17:18] <Nikoli> 4!
[22:17:22] <NegatiV> ну 4
[22:17:41] Abram вышел(а) из комнаты
[22:18:10] <Nikoli> NegatiV: как дела с айсксальтом в качестве демона?
[22:19:17] <NegatiV> Nikoli: пока никак) ибо в планах пока разделения нет
[22:19:35] <NegatiV> а если  и будет то будет идти отдельной программой
[22:19:35] <Nikoli> очень жаль
[22:19:47] <NegatiV> типа eiskaltdcppd
[22:20:24] <Nikoli> а чем вам не нравится вариант либа + qt4 морда+ демон?
[22:20:46] <tehnick> NegatiV: со cli-интерфейсом для настройки! =)
[22:21:34] <NegatiV> Nikoli: тем, что придется все переписать
[22:21:42] <Nikoli> всё?
[22:21:47] <Nikoli> а чего так много то
[22:21:56] <RT200> а вроде есть консольные клиенты дц
[22:22:01] <NegatiV> я когда писал клиент, делал ставку все таки на GUI
[22:22:35] <Nikoli> осложнил сам себе этим дальнейшее развитие
[22:22:51] <NegatiV> а заморачиваться с cli не стал, ибо проще написать простенький клиент за одну-две недели
[22:23:19] <Nikoli> только к нему нельзя будет через qt4 морду подрубиться
[22:23:58] <NegatiV> Nikoli: боюсь что при таком количестве сообщений ядра qt over cli = тормоз
[22:24:20] <0xd34df00d> NegatiV: ты все правильно сделал, на самом-то деле )
[22:25:02] <NegatiV> 0xd34df00d: да я и не говорю что неправильно, они просто не видели все то с чем я сталкивался)
[22:25:29] <NegatiV> cli был бы ошибкой
[22:25:39] <NegatiV> которая бы похоронила клиент
[22:26:04] <Nikoli> разве нельзя посылать морде только некоторые данные, которые нужно видеть пользователю?
[22:26:28] <NegatiV> Nikoli: дело в том что парсить придется все данные
[22:26:35] <NegatiV> а их ой как много
[22:27:03] <wilgib> NegatiV: "cli был бы ошибкой которая бы похоронила клиент" - это почему, демон был бы общий а отдельные мордвы к нему между собой никак не связаны.
[22:27:06] <Nikoli> ясно, похоже при разработке самого ядра, на подобное разделение никто не рассчитывал
[22:27:25] <NegatiV> так что цепочка Kernel message -> String -> (Parsing) -> Kernel message была бы основной причиной потерь производительности
[22:28:56] <NegatiV> wilgib: ^^ пришлось бы парсить столько текста каждую секунду что при соединении больше чем с 5-6 хабами клиент ложил бы систему на лопатки
[22:29:27] <wilgib> NegatiV: "так что цепочка Kernel message -> String -> (Parsing) -> Kernel message была бы основной причиной потерь производительности" - а почему же в интерфейсе на qt4 это не приводит к потере производительности?
[22:29:34] <Nikoli> клиент?
[22:29:50] <0xd34df00d> wilgib: потому что нет тормознутого IPC.
[22:29:53] <Nikoli> NegatiV: почему бы демону не посылать только нужные данные морде?
[22:30:04] <NegatiV> Nikoli: я про 100% нагрузку CPU
[22:30:11] <dhamp> NegatiV, Kernel message -> String -> (Parsing) -> Kernel message ? типа в бинарном же виде нельзя доставлять на клиент инфу?
[22:30:22] <wilgib> что такое IPC ?
[22:30:31] <NegatiV> Nikoli: ты думаешь что приходят ненужные данные?
[22:30:41] <NegatiV> постоянно что-то обновляется
[22:30:50] <NegatiV> кто-то приходит, кто-то уходит и т.п.
[22:31:11] <NegatiV> dhamp: man cli
[22:31:23] <0xd34df00d> wilgib: для передачи через IPC такого количества данных ты упорешься.
[22:31:28] <0xd34df00d> wilgib: Inter-Process Communication.
[22:31:47] <dhamp> NegatiV, речь про демона к которому может подключится как cli клиент так и gui
[22:31:49] <0xd34df00d> wilgib: когда все в рамках одной программы, все работать может на порядок быстрее, чем если это в разных процессах. За счет прямого доступа к памяти.
[22:32:40] <0xd34df00d> Nikoli: олсо, отсылать только нужные данные — tight coupling. Делать абстрактный протокол для всего этого — тормоза. В обоих случаях решение сливает, только в первом — в чуть более долгосрочной перспективе.
[22:32:49] <Nikoli> NegatiV: http://www.transmissionbt.com/
[22:33:14] <Nikoli> musicpd
[22:33:15] <NegatiV> dhamp: хм, опять же DC++ -> Abstraction Layer -> Client создаст ненужную нагрузку
[22:33:25] <Nikoli> как же они все тогда работают то?
[22:33:44] <Nikoli> и ведь тоже данных уйму шлют
[22:33:59] <dhamp> NegatiV, как же тогда пашет X server ?
[22:34:06] <0xd34df00d> dhamp: он _хреново_ пашет.
[22:34:26] <dhamp> 0xd34df00d, чем именно хреново?
[22:34:31] <tehnick> Nikoli: это совсем другой протокол, и информации передается значительно больше, чем в торрентах.
[22:34:35] <0xd34df00d> Nikoli: в случае с музыкой там уйма данных бинарная, и это печально.
[22:34:37] <NegatiV> Nikoli: ты просто не представляешь объемы данных которые приходят только от одного хаба
[22:34:58] <0xd34df00d> Nikoli: в смысле, сильно облегчает работу, потому что твой абстрактный протокол должен поддерживать десяток команд, условно, и уведомления редки.
[22:35:01] <dhamp> Nikoli, mpd на клиент гонит очень мало инфы
[22:35:33] <0xd34df00d> dhamp: однопоточный xlib — не хреново?
[22:35:46] <0xd34df00d> Ну и общая тормознутость по сравнению с тем же чо-там-у-нас-в-маках.
[22:36:19] <dhamp> 0xd34df00d, то-что-маках без сетевой прозрачности одноко
[22:36:24] <wilgib> NegatiV: сейчас обработка сигналов от ядра как происходит?
[22:37:25] <0xd34df00d> dhamp: и часто ты ее используешь?
[22:38:12] <NegatiV> wilgib: очередь событий
[22:39:04] <NegatiV> Nikoli: 8548
[22:39:16] <NegatiV> кол-во сообщений за 5 сек работы клиента
[22:39:18] <wilgib> NegatiV: т.е. в одном месте? и за обработку отвечает некоторый код, так что мешает сделать этот код независимым от qt?
[22:39:35] <NegatiV> wilgib: независимые очереди
[22:39:36] <tehnick> wilgib: чо-чо?
[22:39:52] <tehnick> Еще и от qt...
[22:39:55] <NegatiV> wilgib: то что юзаются очереди Qt
[22:39:56] <Nikoli> NegatiV: но сколько их этих сообщений нужно для пользователя?
[22:40:05] <tehnick> Nikoli: все.
[22:40:09] <Nikoli> т.е. наверняка что-то можно обновлять не так часто
[22:40:20] <NegatiV> Nikoli: каждое, это сообщения о юзерах, состоянии подключения
[22:40:36] <wilgib> NegatiV: так ведь можно собрать cli клиент с очередями из qt
[22:40:57] <tehnick> Nikoli: например, список уходов и подключений пользователей. Причем в порядке, котором это происходило...
[22:40:59] <Nikoli> NegatiV: есть одно но
[22:41:14] <Nikoli> у хаба хватает ведь сил для передачи этих данных клиенту
[22:41:32] <NegatiV> wilgib: фишка в том что у cli морды должно быть минимум зависимостей, с таким же успехом я могу просто не показывать окно клиента
[22:41:36] <Nikoli> хотя ещё общение идёт и напрямую между клиентами
[22:42:03] <tehnick> wilgib: cli-интерфейсу ничто не мешает быть написанным на qt. Ты какую-то чушь пишешь...
[22:42:15] <Nikoli> tehnick: мешает
[22:42:27] <0xd34df00d> Господа, а в чем, собственно, проблема?
[22:42:27] <Nikoli> qt тянет много зависимостей
[22:42:49] <tehnick> И что?
[22:42:54] <NegatiV> Nikoli: вот только хабы приходят уже сформированные данные
[22:42:57] <wilgib> NegatiV: т.е. получается что потеря производительности будет из-за того что ты не можешь реализовать код очередей так же эффективно как он сделан в qt
[22:42:58] <0xd34df00d> Хотите cli? Выставьте dbus-фейс, и кто-нибудь напишет тулзу.
[22:42:59] <wilgib> &
[22:43:01] <wilgib> ?
[22:43:04] <NegatiV> он грубо говоря только рассылает и проверяет
[22:43:05] <0xd34df00d> Ну или еще лучше — впилитесь в личкрафты :3
[22:43:40] <Nikoli> 0xd34df00d: я лично хотел бы http://code.google.com/p/eiskaltdc/issues/detail?id=238
[22:44:01] <wilgib> tehnick: "cli-интерфейсу ничто не мешает быть написанным на qt" -  ты перепутал меня с NegatiV
[22:44:01] <tehnick> "[22:41:31] <NegatiV> wilgib: фишка в том что у cli морды должно быть минимум зависимостей, с таким же успехом я могу просто не показывать окно клиента" --- а вот это совсем не обязательно. Это лишь пожелание...
[22:44:02] <NegatiV> wilgib: да нахера мне cli + qt если я могу сделать все это в самом айскальте, который на c++/qt написан?
[22:44:24] <dhamp> 0xd34df00d, у меня музыка играет через mpd, и чё если я не пускаю клиент на другом компе, это сразу же не нужно ?
[22:44:45] <0xd34df00d> tehnick: люди, которые реквестировали у личкрафтов cli/web, реквестировали также почти голосишные зависимости.
[22:44:49] nE0sIghT вошёл(а) в комнату
[22:44:50] <0xd34df00d> tehnick: возможно, и у айскальта так же )
[22:45:03] <0xd34df00d> dhamp: нет, просто mpd — действительно хороший плеер )
[22:45:11] <0xd34df00d> dhamp: а иксы не столь хороши.
[22:45:43] <dhamp> 0xd34df00d, что есть лучше с аналогичными возможностями ?
[22:47:26] <0xd34df00d> dhamp: иксов?
[22:47:42] <dhamp> 0xd34df00d, иксов
[22:47:49] <0xd34df00d> dhamp: мм, если ты так требуешь сетевой прозрачности — да, пожалуй, ничего.
[22:47:57] <wilgib> NegatiV: "NegatiV: т.е. получается что потеря производительности будет из-за того что ты не можешь реализовать код очередей так же эффективно как он сделан в qt?" - если бы можно было реализовать производительные очереди без использования qt то какие ещё есть  препятствия для модели клиент-сервер?
[22:48:13] <0xd34df00d> Но только мне вот как-то неохота мириться с тормозами и угребищной архитектурой из-за сферической возможности юзать иксы через интернеты.
[22:48:25] <dhamp> 0xd34df00d, я не требую )
[22:48:37] <0xd34df00d> Тогда то-что-в-маках )
[22:48:49] <0xd34df00d> А под линуксы и правда, ничего. Хотя, когда-то вон wayland пилили, надо глянуть, чо там как.
[22:48:54] <RT200> btw, что скажите насчет такого патча http://paste.org.ru/?jtcja2
[22:49:06] <dhamp> 0xd34df00d, оно будет работать в моей системе, чё правда ?
[22:49:24] <0xd34df00d> wilgib: пересылка данных туда-сюда.
[22:49:51] <0xd34df00d> dhamp: не думаю. Я тебе показываю пример архитектурного решения, другого. Который обладает аналогичными возможностями, правда, анален и проприетарен, но эт одругое.
[22:51:02] <dhamp> 0xd34df00d, "мне вот как-то неохота мириться с тормозами" - и чего это у тебя тормозит?
[22:51:37] <wilgib> 0xd34df00d: "пересылка данных туда-сюда." - не понимаю я почему если в рамках одного процесса работа с памятью эффективна, то в рамках двух процессов таже общая память будет медленной.
[22:52:08] <RT200> так удобнее будет http://paste.org.ru/?8k25j3
[22:52:08] <NegatiV> wilgib: не будет она общей, + затраты на обработку текста
[22:52:13] <0xd34df00d> dhamp: 2D у меня тормозит.
[22:52:20] <0xd34df00d> wilgib: потому что память не будет общей, например.
[22:52:27] <0xd34df00d> wilgib: и данные нужно сериализовать/десериализовать.
[22:52:34] <wilgib> так а почеу она не будет общей?
[22:52:44] <0xd34df00d> wilgib: потому что у двух процессов разные адресные пространства, блин.
[22:52:47] <0xd34df00d> wilgib: погугли про это.
[22:52:52] <Nikoli> RT200: похоже лучше открыть баг
[22:52:52] <0xd34df00d> Это тебе не дос же.
[22:53:16] <0xd34df00d> Да, есть разделяемая память, есть QSharedMemory даже, или как его, но оно все весьма уныло и непрозрачно в сетевом плане, например.
[22:53:32] <RT200> Nikoli: похожий баг уже есть http://code.google.com/p/eiskaltdc/issues/detail?id=431 По крайней мере у них одна причина
[22:54:38] <wilgib> 0xd34df00d: есть такое понятие как общая память когда одно и тоже доступно разным приложениям - в чём же проблема?
[22:55:39] <RT200> черт, косяк
[22:56:24] <NegatiV> wilgib: тебе осталось придумать то как получать/удалять сообщения из общей памяти
[22:57:14] <NegatiV> ведь нельзя же держать все сообщения в памяти постоянно
[22:57:33] <RT200> вот какой смысл в присвоении на 5-ой строчке? http://paste.org.ru/?8cwgdf
[22:57:37] <NegatiV> при том надо постоянно удалять сообщения которые больше никому не нужны
[22:57:56] <0xd34df00d> wilgib: во-первых, куте его не поддерживает.
[22:58:12] <tehnick> RT200: создается копия.
[22:58:16] <0xd34df00d> wilgib: ну, не поддерживает хранение своих структур в общей памяти. Поэтому от проблемы (де)сериализации ты не уйдешь.
[22:58:25] <NegatiV> RT200: ну как бы копирование строк, одна строка отправляется на парсинг, другая урезается
[22:58:45] <NegatiV> или что там происходит
[22:58:53] <tehnick> NegatiV: все правильно.
[22:59:26] <0xd34df00d> wilgib: во-вторых, тогда все должно оставаться в рамках машины и теряется профит.
[22:59:35] <NegatiV> RT200: а понял)
[22:59:57] <NegatiV> tehnick:
QString pure_msg = msg;
pure_msg = LinkParser::parseForLinks(msg, false);
[23:00:17] <tehnick> Хы. =)
[23:00:18] <NegatiV> по-моему присваивание действительно лишнее
[23:00:25] <tehnick> Да.
[23:00:40] <tehnick> Исправь. Тебе быстрее.
[23:01:09] <wilgib> 0xd34df00d: каким же образом работают консольные dc-клиенты?
[23:01:21] <0xd34df00d> wilgib: консольным, очевидно.
[23:01:27] <0xd34df00d> wilgib: или у них есть морда?
[23:01:51] <wilgib> незнаю, потому и спрашиваю
[23:01:51] <tehnick> Есть, из псевдографики.
[23:02:05] <0xd34df00d> tehnick: отдельным процессом?
[23:02:10] <tehnick> Нет конечно.
[23:02:19] <tehnick> Все в одном.
[23:02:22] <0xd34df00d> Про то и речь.
[23:02:29] <tehnick> У них еще и ядро урезанное донельзя.
[23:02:49] <tehnick> Ни одного консольного клиента, умеющего ADC, пока нет.
[23:04:14] NegatiV чувствует как у него опухают мозги от 2-х часового слушания EBM музла)
[23:06:18] <RT200> упс. кажется я погорячился про лишнее копирование. QString ведь implicit sharing?
[23:07:54] <0xd34df00d> Да.
[23:08:01] <RT200> хотя нет, даже при неявном копировании будет работать
[23:08:09] <dhamp> NegatiV, "EBM музла" - а расшифровать можно ?
[23:10:13] <NegatiV> dhamp: http://ru.wikipedia.org/wiki/EBM_%28Electronic_Body_Music%29
[23:17:40] wilgib вышел(а) из комнаты
[23:35:41] deseven вышел(а) из комнаты
[23:36:39] SolarRay вышел(а) из комнаты: Replaced by new connection
[23:36:49] SolarRay вошёл(а) в комнату
[23:38:48] <RT200> что-то никак не подберу правильный регэксп.. как соберется, буду проверять QRegExp("\\b[^\\w<>&]{25,}\\b")
[23:40:00] <dhamp> Program received signal SIGSEGV, Segmentation fault.
QString (this=<value optimized out>, hub_list=<value optimized out>, ctx=<value optimized out>)
    at /usr/include/QtCore/qstring.h:715
715    { Q_ASSERT(&other != this); d->ref.ref(); }
(gdb) up
#1  QList<QString>::takeLast (this=<value optimized out>, hub_list=<value optimized out>,
    ctx=<value optimized out>) at /usr/include/QtCore/qlist.h:463
463    { T t = last(); removeLast(); return t; }
(gdb) up
#2  WulforUtil::buildUserCmdMenu (this=<value optimized out>, hub_list=<value optimized out>,
    ctx=<value optimized out>) at /home/egik/work2/c/eiskaltdc/eiskaltdcpp/WulforUtil.cpp:896
896                    QString name = submenus.takeLast();
(gdb) up
#3  0x000000000050103f in HubFrame::initMenu (this=0x38f6800)
    at /home/egik/work2/c/eiskaltdc/eiskaltdcpp/HubFrame.cpp:891
891            QMenu *u_c = WulforUtil::getInstance()->buildUserCmdMenu(QList<QString>() << _q(client->getHubUrl()), UserCommand::CONTEXT_HUB);
(gdb) up
#4  0x00000000005013f9 in HubFrame::getMenu (this=0x7fffe0000020)
    at /home/egik/work2/c/eiskaltdc/eiskaltdcpp/HubFrame.cpp:983
983        initMenu();
(gdb) up
#5  0x00000000005387d2 in MainWindow::slotSidebarContextMenu (this=<value optimized out>)
    at /home/egik/work2/c/eiskaltdc/eiskaltdcpp/MainWindow.cpp:2013
2013        if (!(item && item->getWidget() && item->getWidget()->getMenu()))
в режиме sidebar зашёл на хаб{cp1251} выставив кодировку utf8, сделал пкм на хабе дабы получить менюшку, но получил не менюшку, а сегфолт :)
кто виноват ? :)
[23:40:55] <0xd34df00d> Первый раз вижу такой способ показа бектрейсов, хехе.
[23:41:15] <dhamp> 0xd34df00d, так более информативно )
[23:42:40] <0xd34df00d> bt вроде тоже ок )
[23:42:42] <dhamp> http://aur.pastebin.com/wKuzCShp - вот такой вот bt
[23:42:45] <0xd34df00d> По крайней мере, ту же инфу показывает.
[23:43:18] <0xd34df00d> Я код не видел, но похоже, что тот список пустой.
[23:43:29] <0xd34df00d> Который в WulforUtil.cpp:896
[23:59:26] FiliN_ вышел(а) из комнаты
[23:59:40] FiliN_ вошёл(а) в комнату
Powered by ejabberd Powered by Erlang Valid XHTML 1.0 Transitional Valid CSS!