[00:00:15] <valexеy> /me начинает грешить на куки
[00:12:11] <vlad2> - !IFDEF USE_WINDOWS_SSPI
[00:12:20] <vlad2> + !IFDEF WINDOWS_SSPI
[00:12:36] <vlad2> Не, ну разве не дерьмо эти мэйкфалы???
[00:13:37] <vlad2> Почему не сказать "undefined variable 'WINDOWS_SSPI'"???
[00:13:42] <vlad2> 2013 год на дворе
[00:15:37] <valexеy> верность традициям!
[00:15:59] <valexеy> но синтаксис и семантику языка мейкфайлов разрабатывал действительно кто-то альтернативно одаренный
[00:16:15] <valexеy> чувствуется идейное родство с жабаскриптом
[00:20:45] <vlad2> :)
[00:21:24] <valexеy> то есть не в мелочах, а глобально
[00:21:32] <vlad2> Угу.
[00:29:30] <valexеy> Кстати, зацени: http://vibed.org/
[00:29:44] <valexеy> Альтернатива всяким там Go в плане веба.
[00:31:12] <valexеy> Особенно меня радует вот это: http://vibed.org/docs#custom-main
[00:31:26] <valexеy> это правильная тенденция - фреймворк больше не фреймворк!
[02:14:23] <egp> чё не спите. красноглазики
[02:18:25] <valexеy> рработаем
[02:18:28] <valexеy> а у влада там вообще день
[02:20:19] <egp> на пенсию собираете. ну собирайте собирайте
[02:21:20] <valexеy> смысл собирать, если до нее не дожить? :-)
[02:21:35] <egp> вот хорошо бы. ни до чего не дожить
[02:23:33] <egp> я уже нажился. мне больше всего в жизни понравились суфии и исихасты, но попы и шейхи требуют не совершать запретного, например не курить. поэтому мне ими не быть
[02:24:52] <egp> а программирование - это так, хлеб, не более того, ничего сверхинтересного.
[03:00:49] <valexеy> все. походу я багу нашел и придавил.
[03:00:58] <valexеy> ффухх. поубивал бы.
[03:14:31] <vlad2> Кого? :)
[03:26:54] <valexеy> создателей сторонней либы!
[03:27:36] <valexеy> есть модуль session, который позволяет куками оперировать. собственно вся инфа хранится на стороне клиента (браузера) а не сервера, ога.
[03:28:02] <valexеy> но при этом при реаизации этой session они заюзали модуль context, который, сволочь, сохраняет в глобальной переменной КАЖДЫЙ реквест!
[03:28:06] <valexеy> от клиента
[03:28:43] <valexеy> и чтобы этого не было нужно кроме модуля session себе заимпортировать модуль context и после обработки реквеста явным образом дергать context.Close(r), где r это request
[03:28:59] <valexеy> пардон, не Close, а Clean
[03:29:49] <valexеy> кондомы
[03:32:22] <vlad2> О. Узнаю фрэймворк ;)
[03:33:16] <vlad2> В этом месте сделать так, а вот в том вот так. Иначе не заработает :)
[03:34:38] <vlad2> И как такие штуки, нормально профилируются*
[03:34:39] <vlad2> ?
[03:34:47] <valexеy> ну, это не фреймворк все же. это просто клубок либ.
[03:34:59] <valexеy> В смысле?
[03:35:07] <vlad2> В смысле как ты это выловил?
[03:35:20] <vlad2> В каком месте течет.
[03:35:50] <valexеy> написал пример, hello world с http, потестил - не течет. начал добавлять подозрительные места. Бац - потекло.
[03:36:11] <valexеy> Пошел гуглить на тему что эти сессии текут - сразу наткнулся на обсуждение от ноября 2012 года :-)
[03:36:31] <valexеy> + поскольку эти либы мелкие, я прежде чем использовать все же основные узловые части кода просмотрел
[03:37:09] <vlad2> А профилировщик - не, не умеет?
[03:37:35] <valexеy> профилировщик мне показал в какой ветке вызовов проблема находится
[03:37:41] <vlad2> Типа столько-то объектов (мильен) такого-то типа привязаны к одному руту (глобальной переменной)?
[03:38:01] <valexеy> нет, получать графы собственно объектов я пока не научился (и не знаю можно ли это сделать)
[03:39:18] <valexеy> на самом деле надо еще проверить - может еще где-то утечка есть.
[03:39:33] <valexеy> ну и как-то невменяемо много CPU оно жрет.
[04:11:58] <valexеy> дас. бОльшую часть CPU жрет мусорщик
[04:12:27] <valexеy> Что-то окло 77 процентов от общей нагрузки
[04:12:35] <valexеy> Даже теперь, когда мусора сильно меньше
[04:12:47] <valexеy> точнее теперь его собрать можно :-)
[04:13:29] <valexеy> Кстати, по профилировщику CPU тоже видно в какой ветке основной мусор генериццо. То есть в какой ветке происходят частые вызовы GC
[04:15:30] <valexеy> Блин, кто, ну вот КТО придумал сказку, что сборщик мусора делает программирование простым и приятным?!
[04:21:08] <valexеy> А, нет, это я дурак. В одном месте оставил явное дергание GC, вот оно и тормозило. Убрал - теперь оно работает шустрее. Раз эдак в 10-15.
[04:41:42] <vlad2> :)
[04:42:19] <valexеy> Ну и по профайлеру видно, что теперь циклы процессора равномерно размазаны по коду
[04:42:39] <valexеy> Хотя, эти чертовы куки один фиг львиную долю жрут. Процентов 70 от оставшегося.
[04:43:12] <valexеy> Потому что там и шифрование, там и декодинг который еще и кучку мусора порождает в пути. И вообще 100500 функций которые в том числе рекурсивно друг друга зовут.
[05:16:17] <valexеy> Сергей Зорин: !
[05:18:26] <valexеy> А вот интересно, почему у A2 сайт НАСТОЛЬКО тормозной?
[05:18:40] <valexеy> Он же вроде бы тупо статику отдает.
[05:20:02] <valexеy> Прям антирекламу своей разработке делают :-)
[05:25:48] <valexеy> Причем за последние полгода там всего то 115033 реквестов было.
[05:52:27] <Сергей Зорин> valexey, хз, раньше он шустро работал, Вообще я заметил, что в зависимости от того, с какого адреса заходишь (a2 или bluebottle) оно может и нормально работать, учитывая, что это поддомен, не факт, что проблема в А2
[05:53:54] <Сергей Зорин> тем более, что я недавно запускал http сервер под А2 — шустро работало
[05:53:58] <vlad2> нечеловеческая курла
[05:54:47] <Сергей Зорин> vlad2, где
[05:54:59] <vlad2> В коллбаке HTTP хедеров надо самому детектить - не начались ли хедеры _нового_ репонса
[05:55:12] <vlad2> Для этого надо, естественно, парсить всю эту херню.
[05:55:38] <vlad2> В то же время, как я понимаю, у самой курлы эта информация (начала очередного респонса) есть.
[05:56:20] <vlad2> http://curl.haxx.se/libcurl/c/curl_easy_setopt.html#CURLOPTHEADERFUNCTION
[05:56:36] <vlad2> It's important to note that the callback will be invoked for the headers of all responses received after initiating a request and not just the final response. This includes all responses which occur during authentication negotiation. If you need to operate on only the headers from the final response, you will need to collect headers in the callback yourself and use HTTP status lines, for example, to delimit response boundaries.
[05:56:51] <vlad2> Вот больше делать нечего...
[05:57:08] <Сергей Зорин> )
[06:01:17] <Сергей Зорин> вот счас a2.ethz.ch у меня не открывается, а bluebottle.ethz.ch нормально открыдся, хотя физически это одна машина
[15:56:06] <alexey.veselovsky> ю
[17:15:36] <egp> системный блок от MSX пришёл по почте. буду дожидаться монитора. Не знаю чо я с этим добром буду делать =)
[17:15:57] <egp> 3 года на асме под это писал однако.
[17:15:58] <alexey.veselovsky> скрещивать? :-)
[17:16:30] <egp> скрещивать это надо быть радиоинженером. у меня есть один знакомый однако
[17:16:54] <alexey.veselovsky> писать на MSX компилятор оберона и писать под MSX на обероне!!11
[17:17:04] <egp> но я думаю проще найти флоппики и перекрёстно опылять =)
[17:17:35] <egp> у меня два бэд-флопика где-то валяллось
[17:58:32] <Сергей Зорин> !
[18:00:00] <Сергей Зорин> alexey.veselovsky: ты не прав! дада
[18:03:16] <alexey.veselovsky> на счет чего?
[18:04:52] <Сергей Зорин> циклы! они всё-таки есть!
[18:17:15] <egp> вы все белены объелись! какие циклы!
[18:18:43] <Сергей Зорин> egp: повторяющиеся )
[18:20:28] <Сергей Зорин> alexey.veselovsky: а тебе под этот мсп430 оберон нужен?
[18:22:09] <alexey.veselovsky> ога
[18:25:44] <Сергей Зорин> именно оберон 07
[18:26:27] <alexey.veselovsky> да! только он, только хардкор!
[18:26:59] <Сергей Зорин> а спеки вменяемые есть? не на 100500 стоаниц
[18:27:23] <alexey.veselovsky> есть
[18:27:33] <alexey.veselovsky> там на 100500 довольно сложно
[18:27:57] <alexey.veselovsky> то есть там не про что писать на 100500 страниц
[18:27:57] <Сергей Зорин> нууу если постараться
[18:28:10] <alexey.veselovsky> собственно даже в википедии весь instruction set есть
[18:28:41] <Сергей Зорин> ну ты ж понимаешь, инструкшион сет еще недостаточно для написания компилятора
[18:29:27] <alexey.veselovsky> ну описание регистров тоже
[18:29:35] <alexey.veselovsky> где-то у меня была подробная дока. поищу - вышлю
[18:30:30] <Сергей Зорин> ага
[18:31:00] <Сергей Зорин> ну так оберон не подучится — он же 16-ти разрядный вроде
[18:31:19] <alexey.veselovsky> Ну это не проблема для Оберона-07
[18:31:50] <Сергей Зорин> ну и чудненько 16-ти разрядный под pdp-11 у меня уже есть
[18:32:19] <alexey.veselovsky> Ведь там INTEGER не привязан к битности :-) К битности там только SET прибит
[18:32:32] <alexey.veselovsky> Забавней будет другое - в msp430 нет умножения и деления целых
[18:32:38] <alexey.veselovsky> а плавающей точки нет вообще как класса
[18:33:13] <egp> надо реализовать плав.точку как енум
[18:33:31] <alexey.veselovsky> O_O
[18:33:37] <Сергей Зорин> ну у пдп тоже не везде есть умножение и деление
[18:36:13] <Сергей Зорин> egp зачем как енум?
[18:37:25] <alexey.veselovsky> а главное, КАК как енум?
[18:50:44] <Сергей Зорин> не, ну если уж есть PUSH то и POP бы реализовали )
[18:56:26] <alexey.veselovsky> кстати, а как оно, похоже по инструкциям на pdp?
[18:56:28] <Сергей Зорин> нашел руковоство www.gaw.ru/html.cgi/txt/doc/micros/msp430/arh/index.htm
[18:57:20] <alexey.veselovsky> у меня где-то от TI было
[18:57:53] <alexey.veselovsky> ну и учти, что msp430  не один, их разные семейства
[18:58:03] <alexey.veselovsky> что-то может отличаться
[18:58:29] <Сергей Зорин> ну, есть какие-то идеи, если иметь ввиду ассемблерное предствавление, то да, хотя и сидьно усечено(по понятнм причинам)
, физическое не знаю
[18:58:39] <alexey.veselovsky> по крайней мере по адресам отличаться может точно
[18:59:13] <Сергей Зорин> архитерктра отличается есно
[19:00:42] <Сергей Зорин> почитаю руководство, там видно будет, насколько оно похоже, и насколько сложно будет реализовать кодогенератор, но в принципе, ассемблер похож, значит можно будет привлечь программеров pdp-11
[19:03:11] <Сергей Зорин> но выглядит перспективно в смысле моего интереса
[19:05:02] <alexey.veselovsky> алсо оно стоит копейки :-)
[19:05:08] <alexey.veselovsky> бакса три с доставкой
[19:05:17] <alexey.veselovsky> fedex'ом из пендостана
[19:11:19] <alexey.veselovsky> я имею ввиду девборду
[19:14:53] <Сергей Зорин> а как его заказать
[19:15:05] <Сергей Зорин> а то на симуляторе гонять не то
[19:15:32] <alexey.veselovsky> угу. не те ощущения
[19:15:40] <alexey.veselovsky> щща
[19:18:39] <alexey.veselovsky> http://www.ti.com/tool/msp-exp430g2#buy
[19:22:02] <Сергей Зорин> асм тоже отличается команы сдвигов и переходов пишутся иначе
[19:22:25] <egp> JUP ?
[19:22:47] <egp> типа "мы самые крутые языкотворцы"
[19:23:19] <Сергей Зорин> egp: ты о чем?
[19:23:26] <egp> у меня бред
[19:23:37] <egp> бывает
[19:24:37] <egp> вi нi понiлi моi брэд
[21:29:00] <Сергей Зорин> /
[21:40:32] <valexey> !