gentoo.ru
Общение на окологентушные темы
gentoo@conference.gentoo.ru
Четверг, 8 января 2015< ^ >
winterheart установил(а) тему: Gentoo Linux || FAQ: http://www.gentoo.ru/faq || Вставки более 3 строк → app-text/wgetpaste || Логи: http://gentoo.ru/jabber/logs/ || Языками чешут в talks@conference.gentoo.ru ||  Фортунки http://fortunes.gentoo.ru || Gentoo.RU переехал целиком на Yandex || Gentoo Iron Penguin
Конфигурация комнаты
Участники комнаты

GMT+3
[00:04:41] nis вышел(а) из комнаты
[00:06:41] <0xd34df00d> Civilian: пыщ.
[00:06:41] <0xd34df00d> Актуально ещё?
[00:06:44] <0xd34df00d> А то я только добрался.
[00:10:25] conformist вышел(а) из комнаты
[00:10:49] conformist вошёл(а) в комнату
[00:14:22] <Civilian> 0xd34df00d: ага
[00:15:37] <0xd34df00d> Civilian: ну, вроде по окончанию работы scan-build'а он выплёвывает команду для навигации по отчёту.
[00:15:51] <Civilian> 0xd34df00d: ну я сделал clang --analyze :)
[00:15:55] <0xd34df00d> valgrind ошибки тут не найдёт, потому что это ошибка времени компиляции, и компилятор может теоретически понять, что ты хочешь, и не делать фигни.
[00:15:56] <Civilian> он выдал пару предупреждений
[00:16:05] <0xd34df00d> Civilian: а. Тогда хз. Я обычно scan-build'ом дёргаю.
[00:16:09] <0xd34df00d> А какие предупреждения, например?
[00:16:11] <Civilian> и там были в том числе possible null pointer dereference
[00:16:15] <Civilian> м... они на работе остались
[00:16:21] <0xd34df00d> Civilian: собсна, http://wiki.leechcraft.org/wiki/Static_analysis
[00:16:24] <Civilian> хотя ща попробую здесь собрать
[00:17:36] <Civilian> 0xd34df00d:router.c:1538:8: warning: Dereference of null pointer (loaded from variable 'q')
[00:17:44] <Civilian> consistent-hash.c:238:17: warning: Access to field 'server' results in a dereference of a null pointer (loaded from variable 'w')
[00:17:53] <Civilian> на мой взгляд серьезно )
[00:18:11] <0xd34df00d> А покажи код.
[00:18:17] <Civilian> 0xd34df00d: https://github.com/vladimir-smirnov-sociomantic/carbon-c-relay/tree/simple_logging
[00:18:19] <Civilian> да пожалуйста
[00:18:36] <Civilian> 0xd34df00d: у меня ветка с парой патчей, без которых не собирается шлангом он
[00:19:34] <0xd34df00d> Civilian: мне лень анализировать контрол флоу руками.
[00:19:48] <0xd34df00d> Компилятор считает, что есть путь, когда q не инициализируется на строке 1530, например.
[00:20:03] <0xd34df00d> Например, когда firstspace -1 < metric.
[00:20:30] <0xd34df00d> Civilian: попробуй через скан-билд дёрнуть.
[00:20:35] <0xd34df00d> У меня все магические пасы на вики описаны.
[00:20:45] <0xd34df00d> Оно тогда няшную хтмл сгенерит с описанием всего контрол-флоу.
[00:20:48] <0xd34df00d> Который компилятор вывел.
[00:21:51] <Civilian> Fuf
[00:21:52] <Civilian> ага
[00:21:53] <Civilian> уже
[00:25:45] medvedko вышел(а) из комнаты
[01:02:26] <Civilian> 0xd34df00d: я не очень понимаю почему оно пишет value is never read
[01:02:36] <Civilian> а хотя да
[01:02:38] <Civilian> понимаю
[01:15:32] 0xd34df00d_говножру вошёл(а) в комнату
[01:16:25] <0xd34df00d_говножру> mva: начальник
!
[01:16:32] <mva> шта
[01:16:45] <0xd34df00d_говножру> Start: Wed Jan  7 23:05:44 2015
HOST: build2                                      Loss%   Snt   Last   Avg  Best  Wrst StDev
  1.|-- static.65.78.251.148.clients.your-server.de  0.0%    20    0.9   1.0   0.7   1.3   0.0
  2.|-- hos-tr3.juniper4.rz20.hetzner.de             0.0%    20    0.2  15.6   0.2  61.1  19.5
  3.|-- core21.hetzner.de                            0.0%    20    0.3   0.8   0.2   2.0   0.2
  4.|-- core1.hetzner.de                             0.0%    20    5.1   5.2   4.8   6.7   0.4
  5.|-- juniper1.ffm.hetzner.de                      0.0%    20    4.9   5.5   4.8   8.1   0.8
  6.|-- et-0-0-0-1.fra20.core-backbone.com           0.0%    20    5.7   7.0   5.7  12.5   1.8
  7.|-- ae2-2075.lon10.core-backbone.com             0.0%    20   15.5  16.6  15.4  21.4   1.7
  8.|-- 80.255.15.50                                95.0%    20   15.5  15.5  15.5  15.5   0.0
  9.|-- ae0-402.lon10.core-backbone.com              0.0%    20   15.6  16.0  15.4  17.8   0.5
10.|-- 80.255.15.50                                95.0%    20   15.5  15.5  15.5  15.5   0.0
11.|-- ae0-402.lon10.core-backbone.com              0.0%    20   15.4  15.9  15.4  17.7   0.5
12.|-- 80.255.15.50                                95.0%    20   16.7  16.7  16.7  16.7   0.0
13.|-- ae0-402.lon10.core-backbone.com              0.0%    20   15.4  16.0  15.4  18.1   0.6
14.|-- 80.255.15.50                                95.0%    20   15.3  15.3  15.3  15.3   0.0
15.|-- ae0-402.lon10.core-backbone.com              0.0%    20   17.4  16.2  15.4  18.3   0.6
16.|-- 80.255.15.50                                95.0%    20   16.1  16.1  16.1  16.1   0.0
17.|-- ae0-402.lon10.core-backbone.com              0.0%    20   22.0  17.0  15.5  22.0   1.6
18.|-- 80.255.15.50                                95.0%    20   15.4  15.4  15.4  15.4   0.0
19.|-- ae0-402.lon10.core-backbone.com              0.0%    20   17.1  16.7  15.5  23.5   1.8
20.|-- 80.255.15.50                                95.0%    20   18.8  18.8  18.8  18.8   0.0
21.|-- ae0-402.lon10.core-backbone.com              0.0%    20   16.8  17.1  15.5  27.4   3.0
22.|-- 80.255.15.50                                 5.0%    20   15.6  15.8  15.4  17.2   0.3
23.|-- ae0-402.lon10.core-backbone.com              0.0%    20   24.0  18.4  15.6  25.0   2.7
24.|-- ???                                         100.0    20    0.0   0.0   0.0   0.0   0.0
25.|-- ae0-402.lon10.core-backbone.com              0.0%    20   15.6  16.3  15.6  19.0   0.8
26.|-- ???                                         100.0    20    0.0   0.0   0.0   0.0   0.0
27.|-- ae0-402.lon10.core-backbone.com              0.0%    20   15.8  16.7  15.6  25.2   2.1
28.|-- 80.255.15.50                                95.0%    20   15.9  15.9  15.9  15.9   0.0
29.|-- ae0-402.lon10.core-backbone.com              0.0%    20   18.1  18.1  15.6  27.8   3.2
30.|-- ???                                         100.0    20    0.0   0.0   0.0   0.0   0.0
[01:16:50] <0xd34df00d_говножру> Ой, сорь, у меня тут автопасты нет.
[01:17:56] <mva> ну, на сколько я вижу по интерактивному режиму трейса в европах ппц с роутингом
[01:18:20] <mva> ща в приват кину
[01:18:43] <0xd34df00d_говножру> Я там ничо не понял.
[01:18:47] <0xd34df00d_говножру> Чо оно значит?
[01:19:03] <mva> у меня трейс проходит, но маршрут скачит по семи путям
[01:19:09] <mva> *скачет
[01:19:17] <0xd34df00d> Хм.
[01:19:19] <0xd34df00d> О, заработало.
[01:19:24] 0xd34df00d_говножру вышел(а) из комнаты
[01:20:09] <mva> при чём, лично у меня ветвление начинается уже у провайдера
[01:20:12] <Civilian> 0xd34df00d: ты кстати попытайся написать авторам pvs-studio, они вроде как располагают линукс-версией своей поделки, раз ядро линукса гоняли
[01:20:19] <Civilian> ну или как минимум умеют её в wine запускать
[01:20:58] <0xd34df00d> Civilian: уже написал.
[01:20:59] <mva> Civilian: вангую UML в cygwin
[01:21:05] <0xd34df00d> Andrey2008 с хабра ответил, что попробуют.
[01:21:19] <0xd34df00d> Написал, ещё когда они там миранду тестили.
[01:21:22] <Civilian> 0xd34df00d: клево )
[01:21:26] <0xd34df00d> Мирандобаттхерт забавный был, лул.
[01:21:36] <Civilian> эт да
[01:21:37] <0xd34df00d> Ваще Деда_Сыч тут гонял уже с год назад пвс по тому, что собиралось тогда в студии.
[01:21:55] <0xd34df00d> Ругань была только на вещи вроде const auto& px = someIcon.pixmap (32, 32);
[01:22:07] <0xd34df00d> Оно думал, что 32 — это размер слова, и ругалось о портировании на 64 бита.
[01:22:13] <Civilian> а )
[01:22:20] <Civilian> ну это false-positive
[01:22:31] <Civilian> 0xd34df00d: кстати шланговый анализатор реально полезные вещи нашел
[01:22:37] <Civilian> как минимум один подозрительный иф
[01:22:40] <0xd34df00d> Civilian: да, я несколько багов нашёл тоже в своё время шлангом.
[01:22:47] <0xd34df00d> Один — из тех, которые отлаживать очень долго и неприятно.
[01:22:49] <0xd34df00d> Но долгая история.
[01:22:51] <Civilian> https://github.com/grobian/carbon-c-relay/blob/master/router.c#L1231
[01:22:53] <Civilian> вот это вот
[01:23:15] <0xd34df00d> А чо такого?
[01:23:25] <Civilian> 0xd34df00d: посмотри на 1231 и 1235
[01:23:47] <Civilian> как минимум это подозиретельное место
[01:26:37] <0xd34df00d> Хм.
[01:26:39] <0xd34df00d> Да.
[01:26:41] <0xd34df00d> Таки да.
[01:26:47] <0xd34df00d> У меня от этого файла личкрафты тормозят ((
[01:45:26] nordwind вышел(а) из комнаты
[01:59:53] slepnoga вышел(а) из комнаты
[02:58:10] Civilian вышел(а) из комнаты
[03:56:00] Vurtatoo вышел(а) из комнаты
[05:18:41] fsteinel вышел(а) из комнаты: Disconnected: closed
[05:37:33] beelzebubbie вошёл(а) в комнату
[06:10:46] conformist вышел(а) из комнаты
[06:26:58] conformist вошёл(а) в комнату
[07:36:35] medvedko вошёл(а) в комнату
[08:02:46] WiseLord вышел(а) из комнаты
[08:53:24] WiseLord вошёл(а) в комнату
[09:52:10] nis вошёл(а) в комнату
[09:57:07] conformist вышел(а) из комнаты
[09:59:26] Desu вошёл(а) в комнату
[10:07:30] nis вышел(а) из комнаты: Replaced by new connection
[10:07:40] nis вошёл(а) в комнату
[10:14:19] conformist вошёл(а) в комнату
[10:19:09] krigstask вышел(а) из комнаты
[10:25:49] slepnoga вошёл(а) в комнату
[11:01:59] <olegon> товарищи, что может быть line 8: cannot redirect standard input from /dev/null: No such file or directory
[11:02:14] <olegon> в строке 8 - вызов батника
[11:02:18] fsteinel вошёл(а) в комнату
[11:02:29] <olegon> ну скрипта баша
[11:02:37] <olegon> ./script.sh
[11:02:49] <olegon> ./script.sh &
[11:03:18] <olegon> скрипт запускается раз в минуту, крон прислал это сообщение два раза за сутки
[11:05:39] <olegon> Entry /dev/null in databases has different attributes: ebd 3ebd
[11:07:27] <olegon> мне кажется, что появилось после того, как в другом скрипте я поставил wget -O /dev/null
[11:07:40] <olegon> в /dev/null не все можно запихивать?
[11:09:33] <olegon> cat /dev/null
997x305
[11:09:35] <olegon> эээ
[11:11:10] <olegon> file /dev/null
/dev/null: ASCII text
[11:15:41] Night Nord вошёл(а) в комнату
[11:51:59] CarelessChaser вошёл(а) в комнату
[11:57:16] Civilian вошёл(а) в комнату
[11:58:51] edgbla вышел(а) из комнаты
[12:37:05] Night Nord вышел(а) из комнаты
[12:40:25] Civilian вышел(а) из комнаты
[13:00:50] Civilian вошёл(а) в комнату
[13:06:43] <Civilian> olegon: в null можно запихивать все, но есть редкие условия когда null можно затереть случайно )
[13:06:52] <Civilian> например начать писать туда до того как он появится
[14:17:36] <Civilian> http://www.e-consystems.com/USB-3-Camera-on-JetsonTK1-kit.asp
[14:18:07] <Civilian> чуваки подключили дофига разных камер к Jetson'у и снимали с них данные (что-то типа 7 камер)
[14:18:52] <Civilian> nis: там анонсировали первый "планшет" на Tegra X1
[14:19:03] <Civilian> тока размер планшета - 50 дюймов (телевизор с тач скрином)
[14:22:54] <nis> эээ...
[14:28:40] <nis> весёлый планшет
[14:32:01] <Лёха> это новый ипад, походу
[14:36:35] Vurtatoo вошёл(а) в комнату
[14:37:10] <slepnoga> host relay.vodafone.pt [213.134.48.171]: 550 5.7.1 <ricardo_filipe@yorn.net>: Recipient address rejected: Mail appeared to be SPAM or forged. Ask your Mail/DNS-Administrator to correct HELO and DNS MX settings or to get removed from DNSBLs; in rhsbl.ahbl.org
[14:37:19] <slepnoga> это супер вин
[14:37:53] <slepnoga> ircbl.ahbl.org; List shut down.  See: http://www.ahbl.org/content/last-notice-wildcarding-services-jan-1st
[14:39:00] <Magistr> в чем смысл запускать бл ? в чем там профит
[14:39:07] <Magistr> а то уже кучка наотмирала
[14:39:46] <slepnoga> нууу
[14:39:50] <slepnoga> с умом можно
[14:39:59] <slepnoga> если весовыми коэффициентами
[14:43:48] <slepnoga> Magistr: ты совсем никак и нигде не юзаешь ?
[14:44:45] <Magistr> slepnoga: ну юзаю
[14:56:53] <Civilian> nis: ну я сделал эту штуку собираемой g++'ом. 476 insertions, 550 deletes :)
[14:57:08] <Civilian> 10% всех строк, не так много
[14:59:06] <nis> Civilian: ну я про что говорил
[14:59:19] <nis> не так страшен код как его малюют
[14:59:20] <Civilian> nis: но меня задолбало, честно говоря )
[14:59:27] <nis> ну а ты как хотел
[14:59:36] <nis> там где я работаю это моя основная работа
[14:59:49] <Civilian> nis: переписывать старый кривой чужой код? )
[14:59:50] <nis> взять чьёто говно и лепить из него конфетки
[14:59:53] <nis> да
[15:00:06] <Civilian> nis: не, взять и начать лепить конфетки это нормально
[15:00:43] <Civilian> просто я не понимаю как так можно было писать что наступить на почти все грабли
[15:01:40] <nis> это нормально
[15:02:00] <Civilian> nis: да как сказать )
[15:02:03] <nis> Civilian: ты не понял, взять старый код и с минимальными пределками внедрить его в новый
[15:02:47] <nis> Civilian: а насчёт написать - http://nis-embedded.blogspot.ru/p/blog-page.html - прочитай цитату внизу
[15:03:08] <nis> а два
[15:03:36] edgbla вошёл(а) в комнату
[15:03:49] <nis> ООП в С, это как Функциональщина на ассемблере или тролейбус из буханки
[15:04:08] <nis> возможно, но зачем
[15:05:56] <Civilian> nis: там даже эмуляция private функций )
[15:06:03] <nis> угу
[15:06:26] <nis> как говорится сам себе злой буратино
[15:07:04] <Civilian> nis: http://paste.ubuntu.com/9692373/
[15:07:07] <nis> а почему так - очень просто, если у тебя нету ничего, то ты всё сам породишь в процессе
[15:07:38] <nis> Civilian: ну опять двадцать пять
[15:07:42] <nis> строка 62
[15:07:44] <Civilian> nis: это тупо патч
[15:07:56] <nis> почему malloc то?
[15:07:57] <Civilian> nis: это пока просто чтобы оно собиралось и не падало
[15:08:04] <Civilian> nis: потому что это пока просто заставить собираться
[15:08:10] <nis> ну ок
[15:08:23] <nis> хотя я бы начал с того что отказался от маллока
[15:08:32] <Civilian> nis: а оно все связано
[15:08:38] <Civilian> сначала надо struct'ы в классы переделать
[15:08:43] <nis> ?
[15:08:45] <nis> зачем
[15:08:47] <Civilian> и параллельно malloc -> new заменять
[15:08:52] <nis> у тебя уже классы
[15:08:58] <Civilian> а хотя да
[15:09:02] <nis> вот
[15:09:04] <Civilian> nis: ну оно более natural будет
[15:09:18] <nis> насчёт натурал это сложный вопрос
[15:09:20] <nis> хотя да
[15:09:33] <nis> оператор new тебе в помощь
[15:09:56] <nis> этим ты сделаешь плавный шаг в сторону конструктора
[15:10:01] <Civilian> ага
[15:10:37] <nis> Civilian: я щас просто читаю книгу "Дизайн и эволюция С++", там многие такие вещи описывались
[15:10:51] <Civilian> nis: проникаешься духом си++?
[15:10:55] <nis> и Страуструп очень ругался на то, что многие не умеют программировать на С
[15:10:57] <slepnoga> Civilian: а изначально это были плюсы или сишка ?
[15:10:58] <nis> Civilian: да
[15:11:02] <Civilian> slepnoga: сишка
[15:11:09] <Civilian> slepnoga: но в сишке автор кода полез реализовывать ООП
[15:11:11] <Civilian> на сях
[15:11:23] <nis> Civilian: иногда надо признавать свои ошибки
[15:11:24] <slepnoga> кенельщик что ли ?
[15:11:25] <Civilian> slepnoga: т.е. там были функции вида char *get_ip(server *self)
[15:11:27] <Civilian> и пр. вещи
[15:11:48] <Civilian> slepnoga: не знаю, чувак работает в букинге
[15:12:02] <nis> slepnoga: велосипедист со стажем
[15:12:08] <Civilian> slepnoga: вчера статический анализатор шланга в его коде нашел 8 довольно критичных потенциальных багов
[15:12:21] <Civilian> пара null pointer dereference'ов
[15:12:22] slepnoga nbsp; до сиь пор не проникся разницей между ооп и его отсутсвием
[15:12:29] <Civilian> пара использований мусора
[15:12:36] <nis> slepnoga: и это хорошо
[15:12:39] <Civilian> slepnoga: объектами проще думать
[15:12:53] <Civilian> slepnoga: и некоторые вещи читаются лучше
[15:13:01] <Civilian> тут просто внедрив классы можно сэкономить кучу кода
[15:13:17] <Civilian> введя понятия конструкторов-деструкторов
[15:13:22] <nis> Civilian: я уржусь если твой вариант будет в 1.5 раза быстрей)
[15:13:33] <Civilian> nis: надо понять как протестить )
[15:13:41] <nis> Civilian: ну это да
[15:13:56] <Civilian> и что понимать под "быстрее"
[15:13:59] <nis> тестирование как говорил Макконел это поле на котором сломали не одну сотню копий
[15:14:01] <slepnoga> Civilian:  в чем разница между структурой и классом ?
[15:14:02] <Civilian> способность обработать кучу запросов
[15:14:07] <slepnoga> я нипонял ;(
[15:14:15] <nis> slepnoga: в С++ ни в чём
[15:14:20] <Civilian> slepnoga: в Си++ про структуры забудь )
[15:14:28] <slepnoga> <nis> slepnoga: в С++ ни в чём
[14:06:48] <Civilian> slepnoga: в Си++ про структуры забудь )
[15:14:37] <Civilian> slepnoga: отличие там в том что в struct'е, для совместимости с Си обычным сделали все поля public
[15:14:41] <Civilian> а в классе - private
[15:14:43] <Civilian> по умолчанию
[15:14:48] <Civilian> в остальном - то же самое
[15:14:48] <nis> а так это те же классы
[15:14:54] <Civilian> конструкторы-деструкторы и пр.
[15:15:04] <Civilian> можно объявлять методы, разные типы видимости и т.п.
[15:15:06] <slepnoga> я понял - только rexx и  васик, кобол и фортран ....
[15:15:19] <nis> Civilian: кстати наследование в структурах тоже публичное по умолчанию
[15:15:27] <Civilian> ага
[15:15:33] <Civilian> ну как в Сях так сказать
[15:15:36] <nis> этакий негатор
[15:15:40] <nis> от класса
[15:15:59] <nis> а точнее инверсный адаптер
[15:16:38] <Civilian> slepnoga: просто Си++ старались сделать совместимым с сями по максимуму
[15:16:44] <Civilian> поэтому оставили struct
[15:16:46] <nis> Civilian: а для чего книгу читаю - невозможно использовать язык не поняв его истоков
[15:16:47] <Civilian> так они там по сути не нужны
[15:16:55] <nis> ну как сказать
[15:17:08] <nis> там не совсем совместим
[15:17:10] <Civilian> только экономия пары строк ради логического объединения пачки данных
[15:17:21] <Civilian> nis: максимально совместимым != совсем совместимым
[15:17:26] <Civilian> тем более с си89
[15:17:29] <Civilian> а не с си99
[15:17:37] <nis> я бы сказал с си79
[15:17:47] <Civilian> nis: ну с Си89 мало различий
[15:17:56] <nis> там один f()
[15:18:00] <nis> чего стоит
[15:18:05] <Civilian> м?
[15:18:08] medvedko вышел(а) из комнаты
[15:18:10] <nis> в 89 стандарте
[15:18:14] <Civilian> в смысле?
[15:18:50] <nis> Civilian: f(); назови тип аргумента и возвращаемого значения для этой функции в С89 и в С++?
[15:20:02] <Civilian> возвращаемое значение у них одинаковое - int, насколько я помню. А вот аргументы у C - что передашь то и аргументы, а в Си++ - void
[15:20:25] <nis> вот
[15:20:31] <nis> и это только мелочи
[15:20:39] <Civilian> ага
[15:20:52] <Civilian> nis: ну там много мелочей
[15:20:54] <nis> там есть толстый прикол с перекрытием имён
[15:21:11] <Civilian> nis: тут чувак наступил на объявление struct, union, enum внутри структур
[15:21:15] <Civilian> очень много раз
[15:21:21] <nis> например в Си могут одновременно существовать struct x; int x; x();
[15:21:23] <Civilian> на const char vs char const еще наступил
[15:21:28] <nis> ну это да
[15:21:30] <Civilian> в смысле const char * vs char const *
[15:21:30] <slepnoga> ну и нахрена нужен такой ассемблер для написания мыл клиента ?
[15:21:39] <Civilian> передавал второе, а функция принимала первое )
[15:21:46] <nis> )
[15:22:07] <nis> вот поэтому я сомневаюсь что его работа быстрей чем аналогичная на С++ будет
[15:22:16] <slepnoga> вот этот вопрос я постоянно задаю - никто не может ответит
[15:22:58] <nis> slepnoga: а причина в том что никто не знает С
[15:23:01] <Civilian> slepnoga: какой ассемблер для мыл клиента?
[15:24:34] <slepnoga> C++
[15:24:51] <slepnoga> например для написания какого нибудь kmailа
[15:25:08] <Civilian> slepnoga: скорость
[15:25:14] <Civilian> slepnoga: поворочай 20 тысяч писем
[15:25:40] <nis> удобство разработки и переносимость
[15:29:11] <slepnoga> удобство разработки  - да да , я вижу :)
[15:29:36] <Civilian> nis: но я вот шлангом правда проникся )
[15:29:50] <nis> Civilian: я всё тоже подумываю
[15:30:06] <nis> особенно если бэкенд на кортекс-м3(м4) сделаю и отладку
[15:31:16] <nis> Civilian: g++ ужасен кодом, и может собираться только g++ версией не намного младше чем он сам
[15:37:26] <nis> Civilian: ну а так да, у тебя вполне себе прекрасный патч для этого кода
[15:49:54] <Civilian> nis: не, прекрасный патч это http://paste.ubuntu.com/9692533/
[15:50:39] <nis> )))
[15:50:46] <nis> особенно с лицензией понравилось)
[15:51:03] <Civilian> nis: rm *; git diff | pastebinit :)
[15:51:34] <nis> ааа
[15:51:55] <nis> тебя переполняет ненависть к этому коду?
[15:52:24] <Civilian> не, не переполняет )
[15:52:28] <Civilian> но этот патч решает все проблемы кода
[15:52:34] <nis> ну да
[15:52:34] <Civilian> в отличии от прошлого
[15:52:47] <nis> рекомендую его отправить автору
[15:52:55] <Civilian> не
[15:53:00] <Civilian> автор не настолько неадекватен )
[15:53:09] <nis> а жаль
[15:58:33] <nis> учитывая его код - у него явная попаболь касательно базовых концепций
[15:59:28] hitecnologys вошёл(а) в комнату
[16:03:47] <nis> ну и ещё одно - куча преждевременной оптимизации
[16:13:28] <Civilian> в смысле?
[16:13:37] <Civilian> nis: ну про оптимизации я знаю почему
[16:13:42] <Civilian> они этот код в продакшене используют
[16:16:57] <nis> опасно
[16:17:41] <Civilian> nis: почему?
[16:17:46] <Civilian> nis: не в критичном месте
[16:19:42] <nis> потому, что без профайлера судить о том где хорошо, а где плохо - это пустая трата времени
[16:36:03] <Civilian> nis: оно у них обслуживает 120 млн кооннектов
[16:36:06] <Civilian> так что думаю неплохо )
[16:36:23] <Civilian> nis: я же считал вчера теоретическую производительность исходя из времени обработки запросов
[16:36:32] <Civilian> что софтина способна переварить 1 млрд
[16:36:36] <Civilian> в минуту конечно
[16:36:50] <Civilian> и при условии сферического железа в вакууме )
[16:36:59] <Civilian> т.е. при условии что все идеально, сеть не тормозит и пр.
[16:48:11] ASM вошёл(а) в комнату
[16:51:03] <nis> хм
[16:51:10] <nis> думаю на плюсах не хуже будет
[16:51:25] Desu вышел(а) из комнаты
[17:03:53] <Civilian> nis: workers = (dispatcher **)malloc(sizeof(dispatcher *) * (1 + workercnt + 1));
[17:09:52] <nis> ээм...
[17:10:37] <nis> а если мне нужен указатель на всё это чудо?
[17:10:47] <nis> ***
[17:10:51] <Civilian> nis: кстати переписывание на C++ и расставление try-catch вокруг new позволило сократить колличество ругани от шлангоанализатора
[17:11:02] <Civilian> до этого было 24 бага, теперь 21
[17:11:06] <nis> оо
[17:11:12] <Civilian> исчезла половина logic error'ов
[17:11:12] <nis> большой прогресс
[17:11:23] <Civilian> а точнее использование мусора
[17:11:39] <Civilian> и один потенциальный memory leak :)
[17:11:43] <nis> что ты понимаешь под использованием мусора?
[17:11:55] <nis> неинициализированные данные?
[17:11:56] <Civilian> nis: неинициализированная переменная в сравнении )
[17:12:01] <nis> аа
[17:12:04] <nis> это баловство
[17:12:13] <Civilian> там было в духе a = malloc; if (a->something)
[17:12:17] <nis> у меня такого на работе 90% предупреждений
[17:12:51] <Civilian> nis: я думаю еще как бы избавится от char *x; if (matchtype == CONTAINS) x = "strstr;
[17:13:00] <Civilian> x = "strstr";
[17:15:24] <nis> хм
[17:16:53] <Civilian> для логов-с )
[17:24:46] 0xd34df00d вошёл(а) в комнату
[17:27:11] <slepnoga> nis, a  ты не думал, что если бы все писали правильно - ты бы там не работал :-D
[17:32:26] <nis> slepnoga: это ложное утверждение
[17:33:17] jam666 вошёл(а) в комнату
[17:33:31] <0xd34df00d> Нет не лолжное.
[17:34:43] <nis> 0xd34df00d: как раз ложное, т.к. объём проектов не зависим от объёма работающего кода
[17:34:53] <0xd34df00d> Че.
[17:35:05] <0xd34df00d> У тебя с логикой напряг.
[17:35:44] CarelessChaser вышел(а) из комнаты
[17:38:03] WiseLord вышел(а) из комнаты
[17:39:33] <nis> 0xd34df00d: это ты упоролся
[17:39:55] <nis> т.к. сейчас ты пытаешься доказать зависимость от независимых величин
[17:41:02] <0xd34df00d> Чо.
[17:41:05] <0xd34df00d> А вот и нет.
[17:42:18] <nis> а вот и да
[17:42:39] <nis> slepnoga: ты ещё к тому же забыл ещё один фактор
[17:43:59] <slepnoga> nis: нет
[17:44:05] <slepnoga> я помню, что я трольь
[17:44:07] <slepnoga> :)
[17:44:37] <nis> slepnoga: да забыл
[17:44:45] <nis> и дело не в троллинге
[17:44:54] <slepnoga> в нем
[17:44:59] <slepnoga> ну и в Паретто
[17:45:11] <slepnoga> и "экономике говна"
[17:51:04] medvedko вошёл(а) в комнату
[18:01:12] <nis> ну ну
[18:12:41] slepnoga вышел(а) из комнаты
[18:27:48] <0xd34df00d> Ну.
[18:27:53] <0xd34df00d> Я тебя на хабре спалил.
[18:27:58] <0xd34df00d> В треде про оняме.
[18:28:55] Vurtatoo вышел(а) из комнаты
[18:30:19] <nis> 0xd34df00d: и?
[18:30:40] <nis> Civilian: как думаешь почему gparted виснет на усб-носителе?
[18:40:32] 0xd34df00d вышел(а) из комнаты: Disconnected: Replaced by new connection
[18:40:42] 0xd34df00d вошёл(а) в комнату
[18:43:37] Sun][ вошёл(а) в комнату
[19:01:29] Sun][ вышел(а) из комнаты
[19:12:23] ASM вошёл(а) в комнату
[19:25:11] ASM вышел(а) из комнаты
[19:30:39] 0xd34df00d вышел(а) из комнаты: Disconnected: Replaced by new connection
[19:30:49] 0xd34df00d вошёл(а) в комнату
[19:34:47] slepnoga вошёл(а) в комнату
[19:39:19] Desu вошёл(а) в комнату
[20:28:41] <Civilian> nis: не знаю
[20:29:14] <Civilian> 0xd34df00d: как в плюсах правильно заменить код вида char *x; switch (matchtype) { case CONTAINS: x="strstr"; break <...> };
[20:29:17] <Civilian> ?
[20:29:52] <0xd34df00d> Че.
[20:29:55] <0xd34df00d> А что он делает?
[20:30:07] <Civilian> 0xd34df00d: челвоек выставляет для логов сообщение
[20:30:08] <0xd34df00d> Замени на std::string.
[20:30:10] <Civilian> что будет использоваться
[20:30:14] <Civilian> 0xd34df00d: медленно же
[20:30:19] <0xd34df00d> Где?
[20:30:26] <Civilian> 0xd34df00d: медленее чем char *
[20:30:29] <0xd34df00d> У тебя там все равно логи и IO.
[20:30:38] <0xd34df00d> Что там медленнее?
[20:30:48] <Civilian> 0xd34df00d: выделение памяти
[20:30:54] <Civilian> тут как я понимаю оно compile-time
[20:31:05] <Civilian> а там будет runtime
[20:31:08] <0xd34df00d> Small object optinization может случиться.
[20:31:16] <Civilian> 0xd34df00d: а может и не случится же
[20:31:31] <0xd34df00d> Можешь const слева от звездочки у x дописать.
[20:31:42] <0xd34df00d> Не надо предварительно оптимизировать.
[20:32:36] <nis> Civilian: слушай фуда, он уже с асмом один раз почти наигрался
[20:32:58] <Civilian> 0xd34df00d: а может лучше сделать массив std::string'ов по которому искать?
[20:33:01] <Civilian> ключ все равно enum
[20:33:10] <nis> Civilian: не правильно
[20:33:15] <Civilian> nis: почему?
[20:33:15] <nis> не используй массивы
[20:33:26] <nis> вообще
[20:33:27] <Civilian> nis: у меня выставляется переменная по int'у
[20:33:38] <Civilian> why not?
[20:33:45] <nis> вектор
[20:33:51] <0xd34df00d> Civilian: сделай читаемо и правильно.
[20:33:57] <nis> а точнее смотря каких операций больше
[20:34:00] <0xd34df00d> Соптимизировать всегда успеешь.
[20:34:07] <nis> ага
[20:34:10] <Civilian> 0xd34df00d: я чужой код ковыряю )
[20:34:20] <nis> Civilian: делай правильно
[20:34:24] <0xd34df00d> Civilian: тем более.
[20:34:29] <nis> сейчас главное чтобы работало
[20:34:42] <nis> а там профайлер тебе покажет твои 20/80
[20:34:48] <Civilian> 0xd34df00d: хочется не потерять скорость )
[20:34:50] <Civilian> http://pastebin.com/8pGCYTU9
[20:34:52] <Civilian> вот кусок кода
[20:34:55] <Civilian> он мне не нравится
[20:36:39] <0xd34df00d> > fprintf
[20:36:47] <0xd34df00d> > думает об аллокациях
[20:36:54] <Civilian> 0xd34df00d: это да
[20:37:01] <Civilian> 0xd34df00d: логи на fprintf это тоже клево
[20:42:02] <Civilian> я местами код не понимаю...
[20:42:23] <Civilian> http://dpaste.com/37TX84K
[20:42:31] <Civilian> мне кажется или условие if'а можно упростить?
[20:42:58] <Civilian> т.к. будет *newmetric - *newmetric + (metric + pmatch[0].rm_so]) - metric по сути
[20:43:06] <Civilian> это самое начало функции
[20:43:07] <Civilian> если что
[20:43:32] <Civilian> а стоп, почти
[20:43:45] <Civilian> скорее s с newmetric схлопнется
[20:43:55] <Civilian> newmetric - const char *
[20:45:01] <Civilian> а не... это const char ** таки
[20:45:32] <Civilian> но все равно не понимаю зачем char *s = *newmetric; s - *newmetric делать
[20:50:15] <nis> Civilian: ты не туда полез
[20:50:25] <Civilian> nis: м?
[20:50:33] <Civilian> nis: я по варнингам пройтись хочу )
[20:50:38] <nis> сначала абстрагируй
[20:50:40] <Civilian> и пытаюсь понять что хотел сказать автор tm
[20:50:43] <nis> варнинги оставь на потом
[20:51:04] <Civilian> кстати это нормально inline функция на 70 строк? )
[20:51:12] <nis> нормально
[20:51:39] <nis> в начале пути нормально
[20:51:48] <Civilian> а стоп, на 120 )
[20:51:52] <nis> пока ты не проникся кодом и общим алгоритмом
[20:51:59] <nis> не оптимизируй
[21:08:50] <nis> и да забей пока на те вещи которых не понимаешь
[21:19:38] Magistr вышел(а) из комнаты: Replaced by new connection
[21:19:48] Magistr вошёл(а) в комнату
[21:34:45] <Civilian> ну я бы сказал что тут надо много чего делать )
[21:38:18] <slepnoga> Civilian: тебя уговорили подевелопить или у вас все так хорошо, что админы не выдерживают и идут переписывать ?
[21:39:01] <Civilian> slepnoga: просто развлекаюсь в качестве отдыха )
[21:40:38] <Civilian> slepnoga: я просто колупаю софтину которую хочу использовать в жизни
[21:40:43] <Civilian> потому что она устраивает больше других
[21:40:45] <Civilian> но недостаточно
[21:48:42] 0xd34df00d вышел(а) из комнаты: Disconnected: Replaced by new connection
[21:48:52] 0xd34df00d вошёл(а) в комнату
[21:49:11] jam666 вышел(а) из комнаты: Disconnected: closed
[21:50:09] jam666 вошёл(а) в комнату
[21:51:41] 0xd34df00d вышел(а) из комнаты: Disconnected: Replaced by new connection
[21:51:51] 0xd34df00d вошёл(а) в комнату
[21:56:24] 0xd34df00d вышел(а) из комнаты: Disconnected: Replaced by new connection
[21:56:34] 0xd34df00d вошёл(а) в комнату
[21:57:46] CarelessChaser вошёл(а) в комнату
[21:59:03] 0xd34df00d вышел(а) из комнаты
[21:59:13] 0xd34df00d вошёл(а) в комнату
[22:00:39] <Civilian> nis: а какой смысл делать workers[id + 0] ?
[22:04:02] 0xd34df00d вышел(а) из комнаты: Disconnected: closed
[22:04:24] 0xd34df00d вошёл(а) в комнату
[22:17:36] 0xd34df00d вышел(а) из комнаты: Disconnected: Replaced by new connection
[22:17:46] 0xd34df00d вошёл(а) в комнату
[22:18:55] <slepnoga> Civilian: а вдруг?
[22:19:13] <slepnoga> а вдруг у него 0=1  ?
[22:19:51] <slepnoga> а если время военное ? :)
[22:22:03] <Civilian> slepnoga: :)
[22:34:43] 0xd34df00d вышел(а) из комнаты: Disconnected: closed
[22:36:28] 0xd34df00d вошёл(а) в комнату
[22:39:35] <Civilian> nis: там еще pthread -> std::thread надо б переписать )
[22:52:05] <CarelessChaser> Civilian: зачем?
[22:52:24] <Civilian> CarelessChaser: по приколу
[22:52:34] <Civilian> CarelessChaser: потому что по приколу решил переписать проект Сишный на Си++
[22:52:47] <Civilian> заодно разобраться как он работает и поправить пару косяков, которые меня разрожают в нем
[23:04:41] <CarelessChaser> Civilian: ну как бы std::thread - не полноценная замена pthread, увы
[23:05:08] <CarelessChaser> нужно убедиться вначале, что там не используется расширенный функционал
[23:05:15] <Civilian> CarelessChaser: не используется
[23:05:20] <Civilian> CarelessChaser: там юзаются мьютексы и create
[23:05:22] <Civilian> и все
[23:05:23] <CarelessChaser> а
[23:05:48] <Civilian> а, и join в одном месте
[23:09:04] Civilian вышел(а) из комнаты
[23:09:20] Civilian вошёл(а) в комнату
[23:10:01] Civilian вышел(а) из комнаты
[23:13:29] 0xd34df00d вышел(а) из комнаты: Disconnected: closed
[23:14:07] 0xd34df00d вошёл(а) в комнату
[23:16:47] 0xd34df00d вышел(а) из комнаты: Disconnected: closed
[23:23:58] Desu вышел(а) из комнаты
[23:28:37] medvedko вышел(а) из комнаты
[23:29:01] Civilian вошёл(а) в комнату
[23:30:52] <nis> Civilian: многие из решений появились только потому, что появились. "так исторически сложилось"
[23:31:38] <nis> поэтому врятли ты найдёшь им логическое объяснение
[23:31:49] <nis> за сим откланяюсь
[23:32:22] conformist вышел(а) из комнаты
[23:32:45] conformist вошёл(а) в комнату
[23:33:41] nis вышел(а) из комнаты
[23:34:35] <Civilian> nis ну да
[23:34:59] <CarelessChaser> Civilian: а что за проект?
[23:36:22] <Civilian> CarelessChaser: carbon-c-relay
[23:50:44] <CarelessChaser> пинг
[23:51:10] <CarelessChaser> хочу написать свой шелл для ssh с определенным набором комманд
[23:51:21] <CarelessChaser> забыл, по какому ключевому слову искать
[23:51:28] <CarelessChaser> типа аналог git-shell
[23:51:40] <CarelessChaser> как оно называется?
[23:54:23] Vurtatoo вошёл(а) в комнату
Powered by ejabberd Powered by Erlang Valid XHTML 1.0 Transitional Valid CSS!