Home
codingteam
codingteam@conference.jabber.ru
02.07.2013< ^ >

Тема: C/С++, Haskell, Ruby, Python, Perl, Lisp, Erlang, OCaml, JavaScript, Scala, Nemerle, F#.
Код выкладывать на http://dumpz.org
Вопросы задавать в чат, а не в личку.
Логи: http://tinyurl.com/ctcjr-logs
Упоминания о Flash, Java, .NET, PHP, Pascal/Delphi/Borland, 1С караются съеданием поциента.
Личкрафты: http://leechcraft.org и git://github.com/0xd34df00d/leechcraft.git
Horta Hell: https://github.com/ForNeVeR/horta-hell
Проблем решено: 0x14
Говорящих демонов: 0x1

=> Объявляется неделя Clojure.
[00:12:41] generatorglukoff зашёл в конференцию
[00:50:25] <j123123> https://github.com/0xd34df00d/leechcraft/blob/master/src/plugins/bittorrent/core.cpp#L233 для подобной пачки if-оф не подходит case?
[00:51:33] <j123123> https://github.com/0xd34df00d/leechcraft/blob/master/src/plugins/bittorrent/core.cpp#L460 вот тут точно можно заменить на switch - case
[00:54:32] <j123123> https://github.com/0xd34df00d/leechcraft/blob/master/src/plugins/bittorrent/core.cpp#L1542 куча XmlSettingsManager::Instance ()-> setProperty (blablabla); однотипных
[00:55:22] <0xd34df00d> j123123: 233 — нет, они же не взаимоисключающие.
[00:55:35] <j123123> void Core::setGeneralSettings () тоже похожая ситуация
[00:55:48] <0xd34df00d> Да, на 460 можно.
[00:55:53] <0xd34df00d> Ну а хули с одинаковыми-то сделаешь.
[00:57:58] <j123123> Ну наподобии
XmlSettingsManager::Instance ()-> setProperty << ("WholePiecesThreshold", 2), ("UseParoleMode", false), ("PrioritizePartialPieces", true) .....
[00:58:10] <j123123> Что-нибудь такое позволяют делать плюсы?
[00:59:03] <0xd34df00d> Нет :(
[00:59:34] <0xd34df00d> Хотя обертку намутить можно, конечно.
[01:01:12] <j123123> А может это лучше читать из некоего конфига, чем статически прописывать в исходник?
[01:01:56] <generatorglukoff> NO
[01:02:50] <0xd34df00d> Получится конфиг по конфигурации генератора рантайм-конфигов.
[01:02:52] <0xd34df00d> Охуеть теперь.
[01:03:50] <j123123> лолд
[01:04:58] <j123123> Вообще, декларативную хуерху лучше писать отдельно от кода
[01:05:56] <0xd34df00d> Ты там torrentsettings.xml рядом посмотри.
[01:05:58] <0xd34df00d> Вот это вот оно.
[01:08:15] <j123123> Хмм, может лучше писать штуку, которая из xml делает код, чем код, который порождает xml файл?
[01:11:10] <0xd34df00d> Но этот иксемель-файл никто не порождает!
[01:12:17] <j123123> Зачем тогда этот XML продублирован в /leechcraft/blob/master/src/plugins/bittorrent/core.cpp ?
[01:12:42] <j123123> В виде XmlSettingsManager::Instance ()-> setProperty
[01:13:25] <0xd34df00d> j123123: ну кто-то же забиндить это должен.
[01:13:41] <0xd34df00d> А в ядре делать поддержку разных пресетов как-то лениво.
[01:15:41] <j123123> Ну так можно сделать как в gdb. Там есть особый скрипт, который из XML делает "код" на сищке
[01:15:49] <j123123> http://sourceware.org/cgi-bin/cvsweb.cgi/~checkout~/src/gdb/features/feature_to_c.sh?rev=1.10&content-type=text/plain&cvsroot=src&only_with_tag=HEAD Сам скрипт
[01:16:31] <j123123> http://sourceware.org/cgi-bin/cvsweb.cgi/~checkout~/src/gdb/features/aarch64.c?rev=1.1&content-type=text/plain&cvsroot=src&only_with_tag=HEAD результат работы
[01:18:38] <j123123> Там всякое описалово регистров
[01:19:45] * j123123 упарывал исходники GDB
[01:25:47] moonhawk зашёл в конференцию
[01:37:34] moonhawk вышел из конференции
[01:46:02] <j123123> https://github.com/0xd34df00d/leechcraft/blob/master/src/plugins/bittorrent/peersmodel.cpp#L108 я вот даже задумался над тем, какую бы языковую конструкцию поставить на замену этому
В case от 1 до 4 всегда проверяется if (role == Qt::DisplayRole) ; else if (role == SortRole) ;
[01:47:40] <0xd34df00d> Хехе.
[01:47:45] <0xd34df00d> Вот как говна ешь с этими кейсами.
[01:48:03] <0xd34df00d> j123123: смотри лучше код какого-нибудь LMP, Monocle или азотха, а то от битторрента меня самого местами блевать тянет, он старый :(
[01:50:20] <j123123> https://github.com/0xd34df00d/leechcraft/blob/master/src/plugins/azoth/actionsmanager.cpp#L141 ну тут явно претендент на замену case
[01:52:09] <j123123> Ну и там обычные, типичные для твоего кода фрагменты
result << id2action.value ("sep_afterroles");
result << id2action.value ("add_contact");
result << id2action.value ("copy_muc_id");
[02:00:06] Bit0reZ зашёл в конференцию
[02:20:04] <j123123> http://govnokod.ru/10987 вот такое оно мне напоминает
[02:20:35] <j123123> Эти result << блаблабла; result << блаблабла
[02:30:04] <j123123> Вообще хороший сайтик. туда много чело можно повбрасывать
[02:30:41] <j123123> *чего
[02:33:43] <j123123> http://govnokod.ru/12887
> В массиве можно выйти за его пределы. И получить переполнение.
[02:33:48] <j123123> Охренень
[02:42:12] magog вышел из конференции
[02:44:16] yesyes вышел из конференции: Computer went to sleep
[02:47:25] Bit0reZ вышел из конференции
[02:55:06] <0xd34df00d> j123123: > case
> по строкам
[02:55:08] <0xd34df00d> :]
[02:56:15] <j123123> В Си вообще сравнивать строки надо через strcmp или в крайнем случае через memcmp, но никак не через ==
[02:56:53] <j123123> Если в плюсах каким-то образом можно сравнивать чере ==, я предположил что case тут будет вполне уместен
[03:05:13] <j123123> Кстати, если строки длинной 8 байт(64 бит), можно строку просто скастовать в uint64_t и использовать обычный case
[03:06:59] <j123123> http://habrahabr.ru/post/166201/ Switch для строк в C++11
[03:07:17] <j123123> 0xd34df00d
[03:14:07] <j123123> http://stackoverflow.com/questions/5452188/switch-case-statement-in-c-with-a-qstring-type
[03:14:49] <j123123> Что-то не такой уж он и высокоуровневый, этот ваш C++11
[03:21:33] <generatorglukoff> потому что для нормального switch нужен еще и operator< хотя бы
[04:11:37] Graf вышел из конференции
[04:19:39] rexim зашёл в конференцию
[04:35:52] rexim вышел из конференции
[05:05:34] Graf зашёл в конференцию
[05:44:52] Graf вышел из конференции
[05:49:58] sss|zombie зашёл в конференцию
[06:04:31] reggies зашёл в конференцию
[06:26:24] PhoSor зашёл в конференцию
[06:42:48] Славный капитан зашёл в конференцию
[07:33:01] Myp вышел из конференции
[08:06:10] magog зашёл в конференцию
[08:14:36] Graf зашёл в конференцию
[08:32:39] reggies вышел из конференции: offline
[08:57:01] m4n71k0r зашёл в конференцию
[08:57:51] magog вышел из конференции
[09:08:01] Myp зашёл в конференцию
[09:08:06] Graf вышел из конференции
[09:46:07] magog зашёл в конференцию
[10:00:16] swagman вышел из конференции: Я использую Miranda IM (http://miranda-im.org/.)
[10:07:11] Myp вышел из конференции
[10:07:24] Myp зашёл в конференцию
[10:18:36] SolarRay зашёл в конференцию
[10:36:11] swagman зашёл в конференцию
[11:08:53] пкщгяут[slacktop] вышел из конференции
[11:20:00] m4n71k0r вышел из конференции
[11:24:01] m4n71k0r зашёл в конференцию
[11:38:17] Graf зашёл в конференцию
[11:40:15] пкщгяут[slacktop] зашёл в конференцию
[11:44:11] PhoSor вышел из конференции
[11:52:48] yesyes зашёл в конференцию
[11:55:52] Graf вышел из конференции
[11:58:08] m4n71k0r вышел из конференции
[11:58:34] Graf зашёл в конференцию
[12:01:47] proto_21h зашёл в конференцию
[12:13:09] PhoSor зашёл в конференцию
[12:38:37] reggies зашёл в конференцию
[12:59:50] proto_21h вышел из конференции
[13:07:43] reggies вышел из конференции: offline
[13:30:02] Myp вышел из конференции
[13:33:09] Myp зашёл в конференцию
[13:37:00] PhoSor вышел из конференции
[14:10:29] generatorglukoff вышел из конференции
[14:13:09] sss|zombie вышел из конференции
[14:13:17] sss|zombie зашёл в конференцию
[14:47:36] moonhawk зашёл в конференцию
[14:47:42] magog вышел из конференции: Replaced by new connection
[14:47:42] magog зашёл в конференцию
[14:49:55] generatorglukoff зашёл в конференцию
[14:51:56] moonhawk вышел из конференции
[14:55:59] magog вышел из конференции: Replaced by new connection
[14:55:59] magog зашёл в конференцию
[14:59:13] Славный капитан вышел из конференции
[15:11:40] sss|zombie вышел из конференции
[15:14:23] moonhawk зашёл в конференцию
[15:47:03] generatorglukoff вышел из конференции
[16:04:46] rexim зашёл в конференцию
[16:05:05] <rexim> It's feaking ping time!
[16:05:08] <rexim> .ping
[16:05:09] <DeadBot> rexim: понг от тебя 0.08 секунды
[16:05:10] <rexim> .ping
[16:05:10] <DeadBot> rexim: понг от тебя 0.08 секунды
[16:05:11] <rexim> .ping
[16:05:12] <DeadBot> rexim: понг от тебя 0.09 секунды
[16:14:52] SolarRay вышел из конференции
[16:15:14] Myp вышел из конференции
[16:15:26] Myp зашёл в конференцию
[16:39:27] generatorglukoff зашёл в конференцию
[16:39:59] O01eg вышел из конференции
[16:42:52] <generatorglukoff> j123123: слыш, оптимизатор, как мне эффективно посчитать колво цифр в десятичной записи числа
[16:43:59] <Myp> generatorglukoff: Проголодался?:)
[16:44:12] <generatorglukoff> Myp: угу
[16:47:26] O01eg зашёл в конференцию
[16:49:43] <j123123> generatorglukoff: логарифмом
[16:49:59] <generatorglukoff> кол-во байт?
[16:50:06] <generatorglukoff> а если у девайса нет fpu?
[16:51:07] <j123123> А если оно записано в виде строки символов, можно тупо циферки посчитать
[16:51:46] <generatorglukoff> оно записано ввиде инта который приходит извне
[16:53:02] <j123123> Сделать http://gcc.gnu.org/onlinedocs/gcc/Case-Ranges.html#Case-Ranges
[16:53:07] <j123123> Если ГЦЦ
[16:53:26] <j123123> 0..10
[16:53:39] <j123123> тоесть 0...9
[16:53:52] <j123123> 10..99
[16:53:57] <j123123> итд
[16:54:27] <Myp> //_\\
[16:54:28] <generatorglukoff> сколько байт?
[16:54:56] <j123123> Как узнать, сколько байт?
[16:55:13] <generatorglukoff> мне нужно оптимизировать по размеру
[16:55:22] <generatorglukoff> для mips
[16:55:27] <j123123> Битовыми масками можно мучать
[16:56:44] <j123123> типа есть у нас херь, двоичное представление которой 00011101
[16:57:58] <generatorglukoff> што
[16:58:11] <j123123> Берем мы значит 00010000 хрень, сравниваем с той штукой больше или меньше
[16:58:37] <j123123> Ну и там если чо, берем другую хрень, 00100000
[16:59:11] <j123123> Ну и в результате такого сравнения можно понять, сколько битов занято
[16:59:40] <Myp> про байты же разговор
[16:59:47] <j123123> А, тебе надо знать, сколько байт будет занимать хуерга с switch - case?
[17:00:08] <j123123> Откомпилируй в GCC код и посмотри, хуле
[17:00:17] <j123123> Потом можно еще ручками доработать
[17:00:26] <Myp> после конпеляции?
[17:00:36] <j123123> Да, ассембрелный высер компилятора
[17:00:44] <j123123> Его можно потом переделать
[17:00:59] <Myp> Да, ну, гонишь ты
[17:04:01] <j123123> Компиляторы умеют в оптимизацию switch через двоичное логическое дерево
[17:04:13] <j123123> http://www.insidepro.com/kk/031/031r.shtml вот там написано про switch
[17:06:01] Glorious Chaplain of the Hortamarines зашёл в конференцию
[17:11:44] PhoSor зашёл в конференцию
[17:22:30] <generatorglukoff> j123123: люди умеют в оптимизацию через библиотеки
[17:25:09] <j123123> Вообще хз, какая там система команд у MIPS. Если unsigned int, можно взять число 10 и сравнивать с ним. Потом 100, потом 1000
[17:25:14] <j123123> Ну и так в цикле
[17:25:37] <j123123> http://ideone.com/4IBD1I вот накопипащенная хуита, умножение на 10 через сдвиги и прибавления
[17:27:46] <generatorglukoff> (a << 3) + (a << 1) тогда уж
[17:28:00] <j123123> ну можно и так, да
[17:28:09] <j123123> один хрен
[17:28:43] generatorglukoff вышел из конференции
[17:50:17] <j123123> А еще можно само число делить на 10 пока оно нулем не станет
[17:51:36] <Myp> нулем?
[17:54:05] <j123123> А что? Если у нас инты, дробной части ж нет
[17:54:13] <ForNeVeR> 9/10 = 0.
[17:54:17] <ForNeVeR> Всё ок.
[17:54:42] <Myp> 10/10 = 1 не ок
[17:54:51] <ForNeVeR> Ок.
[17:55:08] <ForNeVeR> 1/10 же = 0.
[17:55:53] <j123123> Вообще, надо подумать
[17:56:01] <j123123> Как запилить деление на 10 через сдвиги
[17:56:06] <Myp> Вообще число нулем никогда не станет. Сколько его не дели :)
[17:58:16] <j123123> Ну
[17:58:20] <j123123> это смотря какое число
[17:58:24] <Myp> Любое
[17:58:33] <j123123> unsigned int станет
[17:58:39] <Myp> не станет
[17:58:40] <ForNeVeR> > 13:56 UTC We have isolated the cause of unicorns and are working to repair
[17:59:02] <Myp> Если его только делить
[17:59:24] <ForNeVeR> Нет, станет.
[17:59:33] <Myp> Нет не станет
[17:59:33] <ForNeVeR> Если оно уже ноль.
[17:59:37] <ForNeVeR> Станет.
[17:59:49] <Myp> Если оно уже ноль, то оно не может стать нулем
[17:59:59] <ForNeVeR> А вообще, числа иммутабельные. Так что, что бы ты с ними не делал, отличные от нуля числа не обратятся в ноль, ага.
[18:00:05] <ForNeVeR> Хотя в Java возможны варианты.
[18:00:34] <ForNeVeR> Раньше можно было влезть в таблицу заинтерненных int'ов, и поменять там что-нибудь.
[18:00:36] <j123123> Если попробовать разделить ноль на что угодно кроме нуля и бесконечности, оно нулем и будет
[18:01:03] <Myp> останется, да
[18:01:06] <Myp> но не станет
[18:08:04] <ForNeVeR> Станет.
[18:08:20] <ForNeVeR> Впрочем, твоё определение "станет" отличается от моего.
[18:08:31] <ForNeVeR> Вот я, например, непременно стану форневериком, когда вырасту.
[18:08:42] <Myp> С чего вдруг исходное число и результат умножения вдруг имеют отображение?
[18:08:48] <ForNeVeR> Myp: а ты не станешь.
[18:08:57] <Myp> ForNeVeR: И ты не станешь
[18:09:00] <ForNeVeR> Стану.
[18:09:05] <ForNeVeR> Мне виднее. Я смогу!
[18:09:13] <Myp> То будешь уже не ты.
[18:09:28] <ForNeVeR> Нет не ты!
[18:28:34] magog вышел из конференции
[18:31:29] generatorglukoff зашёл в конференцию
[18:32:42] j123123 вышел из конференции
[18:33:00] j123123 зашёл в конференцию
[18:35:16] dzendmitry зашёл в конференцию
[18:37:23] dzendmitry вышел из конференции: offline
[18:51:19] swagman вышел из конференции: Я использую Miranda IM (http://miranda-im.org/.)
[18:58:10] Myp вышел из конференции
[19:20:30] goodstuff зашёл в конференцию
[19:40:13] reggies зашёл в конференцию
[19:49:01] zxc_ зашёл в конференцию
[19:49:44] <ForNeVeR> .z
[19:49:44] zxc_ выгнали из конференции: You underestimate ForNeVeR's power!
[19:49:45] <DeadBot> ForNeVeR: ok
[19:49:52] proto_21h зашёл в конференцию
[19:50:25] <proto_21h> hi
[19:51:05] swagman зашёл в конференцию
[20:00:01] moonhawk вышел из конференции
[20:32:34] rexim вышел из конференции
[20:37:07] m4n71k0r зашёл в конференцию
[20:37:11] m4n71k0r вышел из конференции
[20:37:43] m4n71k0r зашёл в конференцию
[20:59:25] пкщгяут[slacktop] вышел из конференции
[21:06:18] PhoSor вышел из конференции
[21:08:34] proto_21h вышел из конференции
[21:18:37] goodstuff вышел из конференции
[21:25:18] m4n71k0r вышел из конференции
[21:25:53] m4n71k0r зашёл в конференцию
[21:26:20] пкщгяут[slacktop] зашёл в конференцию
[21:52:51] PhoSor зашёл в конференцию
[21:57:58] moonhawk зашёл в конференцию
[22:12:09] v_oron зашёл в конференцию
[22:16:36] Glorious Chaplain of the Hortamarines вышел из конференции
[22:20:00] reggies вышел из конференции: offline
[22:29:21] v_oron вышел из конференции
[22:35:58] ckorzhik зашёл в конференцию
[22:37:14] m4n71k0r вышел из конференции
[22:40:34] generatorglukoff вышел из конференции
[22:42:44] <ckorzhik> кто-нибудь проходит курс криптографии на coursera?
[22:54:23] PhoSor вышел из конференции
[23:15:44] пкщгяут[slacktop] вышел из конференции
[23:33:20] ckorzhik вышел из конференции: Replaced by new connection
[23:33:21] ckorzhik зашёл в конференцию
[23:55:11] generatorglukoff зашёл в конференцию
Powered by freQ Powered by Python Valid XHTML 1.0 Transitional Valid CSS!