[00:17:12] <vаlexey> "одна страница Facebook, будучи открытой браузером Internet Explorer, потребляет около 1 Гбайт ОЗУ"
[00:26:39] <vlad2> А. Это да. Мне поэтому пришлось проагрейтить свой нетбук на 2Гб. Ибо браузить стало невозможно.
[00:37:27] <vаlexey> ыыы
[00:37:30] <vаlexey> веб - няшка!
[00:37:32] <vаlexey> :-)
[18:08:35] <vlad2> ААА!!! Губанов уходит на  C/C++!!!
[18:09:02] <alexey.veselovsky> vlad2: ну, я это знал еще месяц назад - в одной конторе же работаем :-)
[18:09:19] <vlad2> Как он дошел до такого?
[18:09:29] <vlad2> Он же ш ненавидел эти языки?
[18:09:54] <alexey.veselovsky> ну, работа на С# с памятью напрямую мало отличается ведь от Си :-)
[18:10:43] <alexey.veselovsky> Алсо наша контора делится. Часть где я и он становится филиалом новой американской компании + мы переезжаем на новое место. до куда добираться долго и не приятно, ну и условия работы там хуже
[18:11:37] <vlad2> Ты не собираешься? :)
[18:12:00] <alexey.veselovsky> А перейдя в другую половину компании, он во-первых увеличивает свою ЗП, во-вторых остается в удобном офисе, в третьих работа с памятью больше не хак и язык более удобный для этого.
[18:12:23] <alexey.veselovsky> Ну и, кроме того, его скилы там по пилению высокой производительности будут как раз востребованы на все 100
[18:12:40] <alexey.veselovsky> Ну, я тоже пару вериантов присмотрел :-)
[18:13:09] <alexey.veselovsky> Я же не на пустом месте про дельту в зарплате писал :-)
[18:14:30] <alexey.veselovsky> + не забываем про конкурс :-)
[18:16:33] <vlad2> В интел хочешь? :)
[18:16:50] <alexey.veselovsky> не, работать внутри интела я не хочу :-)
[19:02:29] <vlad2> Ох уж этот Рене... Его бы в мирное русло как-нибудь направить...
[19:09:06] <alexey.veselovsky> vlad2: а что такое опять?
[19:09:24] <vlad2> Многа букаф написал.
[19:09:34] <alexey.veselovsky> это да. я снова ниасилил
[19:11:40] <vlad2> Надо ответить. Все ж чувак старался, писал мне...
[19:11:51] <alexey.veselovsky> угу
[19:11:58] <alexey.veselovsky> вот так, слово за слово... Ж-)
[19:12:00] <vlad2> Тем более у него английский не нэйтив.
[19:12:13] <alexey.veselovsky> не так страшно ошибиться? :-)
[19:12:32] <vlad2> Не, в смысле я могу представить, чтоон убил на ответ больше часа.
[19:12:45] <alexey.veselovsky> а-а, это да
[19:14:03] <alexey.veselovsky> хотя немцам (или австрийцам - один фиг) инглиш должен даваться проще чем нам
[19:18:04] <vlad2> Там на самом деле прикольнвй рассказ про то как он волантирит :)
[19:18:17] <vlad2> (к программированию конечно не имеетн никакого отношения)
[19:18:20] <alexey.veselovsky> Волюнтарист!
[19:18:30] <vlad2> Ага ;)
[19:21:14] <vlad2> Правда про опыт работы с VCS так и не рассказал.
[19:21:28] <alexey.veselovsky> :-)
[19:21:39] <vlad2> Упомнял только про багрепорты и предложения про фиксы быгов.
[19:21:50] <alexey.veselovsky> ну, это ж фигня
[19:21:55] <vlad2> Т.е. мои подозрения не рассеялись.
[19:23:31] <vlad2> А то, что он кипучий общественный деятель и так было понятно.
[19:24:41] <alexey.veselovsky> ну, если посмотреть правде в глаза, то у меня складывается впечатление, что основная разработка ББ идет в оберонкоре + у яерославцев, а Иван делает уже дистр из всего до чего дотянется. Причем схемар разработки у оберонкоровцев - закрытая, причем она такова, что VCS там по сути и не используется.
[19:24:50] <alexey.veselovsky> И мне представляется маловероятным что они будут переучиваться.
[19:26:11] <alexey.veselovsky> по моему процесс разработки будет таким - они там что-то варят, периодически проталкивая изменения в свой bitbucket-репозиторий, ярославцы им дифчики оформлают и они тоже постепенно туда попадают
[19:26:28] <alexey.veselovsky> А затем из этого репозитория будет постепенно проталкиваться в репозиторий "центра"
[19:26:50] <alexey.veselovsky> Причем довольно редко и в моменты, возможно, релизов.
[19:27:12] <alexey.veselovsky> C сопутствующей бюрократией.
[19:27:23] <alexey.veselovsky> (и радостью от бинарных исходников)
[19:27:46] <vlad2> Это в лучшем случае :) Сейчас все больше идет к тому, что оно загнется не начавшись.
[19:29:38] <alexey.veselovsky> но мне непонятно каким местом там зарубежные товарищи
[19:29:50] <alexey.veselovsky> желания разрабатывать что-либо я не увидел :-)
[19:29:58] <alexey.veselovsky> ну то есть вообще
[19:30:04] <vlad2> Тут какой-то замкнутый круг. Бинарные исходники не дают нормально пользоваться VCS. Неиспользование VCS не дает стимула переделать исходники в текстовые.Т.е., нужен какой-то сильный внешний толчок.
[19:30:50] <alexey.veselovsky> ну, если кто-то или изменит формат файлов, или впилит плагин для VCS
[19:31:01] <alexey.veselovsky> с мержилкой оных
[19:31:07] <vlad2> Угу. Нет желающих впихнуть в центральный репозиторий свой магаполезный компонентик.
[19:31:35] <alexey.veselovsky> но тут нюанс - этот плюгин не воткнуть же ни на битбакет ни на гитхаб
[19:31:46] <alexey.veselovsky> то есть половину радости от этих публичных репозиториев мы теряем
[19:31:54] <alexey.veselovsky> по крайней мере все что связано с веб-моррдой
[19:32:56] <vlad2> Я бы на начальном этапе хотя бы просто тупо засериализовал в какой-нибудь json. И то бы хоть чуть-чуть мердж упростился.
[19:33:18] <alexey.veselovsky> а не особо то и выйдет - там же бинарных блобов будет куча
[19:33:27] <alexey.veselovsky> хотя, можно конечно заююкать
[19:33:29] <vlad2> Ну пусть будут.
[19:33:31] <alexey.veselovsky> и строкой воткнуть
[19:34:01] <alexey.veselovsky> блин, но оформление при мердже будет плыть ВСЕГДА
[19:34:23] <alexey.veselovsky> представь себе - текст ты смерджил, а оформление (бинарный блоб) нет
[19:34:30] <alexey.veselovsky> или смерджил как-то не так.
[19:34:59] <vlad2> В смысле у меня тут конкретный опыт есть. У нас довольно сложный бинарный контейнер последовательно мигрировал в текстовый формат. Сначала почти все было "бинарь как текст". Сейчас все это выглядит как архивчик с понятным деревом текстовых файлов внутри.
[19:35:29] <alexey.veselovsky> оу! прям таки docx :-)
[19:37:36] <vlad2> Не. фиг с неправильным мерджем. Главное что хьюман видит глазками что поменялось и может смерджить вручную уже в ББ.
[19:37:50] <vlad2> (с оформлением и т.д.)
[19:38:07] <alexey.veselovsky> Хотя мержить разные оформления - та еще радость. Даже в ББ/
[19:38:10] <vlad2> Тут вполне можно итерационный процесс приенить.
[19:38:35] <alexey.veselovsky> Вообще, есть же опыт А2
[19:38:42] <alexey.veselovsky> Они там тоже вначале перешли на XML
[19:38:49] <vlad2> Короче, было бы желание :)
[19:38:51] <alexey.veselovsky> А потом вообще на plain text для исходников :-)
[19:38:53] <vlad2> А его нет.
[19:39:42] <alexey.veselovsky> Больше всего удручает отсутствие какой-то движухи в плане техническом и программерском со стороны англоязычных товарищей
[19:40:18] <alexey.veselovsky> ну, то есть ощущение, что все англоязычные в "центре" (кроме разве что Рене) - это тупо пользовательская база.
[19:41:38] <alexey.veselovsky> и я не понимаю зачем они там.
[19:42:28] <alexey.veselovsky> о, похоже я нашел тему где Рене себя чувствует отлично: http://forum.blackboxframework.org/viewtopic.php?f=3&t=53
[19:42:30] <vlad2> Дык, discussion :)
[19:42:31] <alexey.veselovsky> :-)
[19:43:12] <vlad2> :)
[19:44:08] <alexey.veselovsky> Но это реально важная тема, кстати, ибо этот трейдмарк может стать консолидирующей штукой. Центром кристализации.
[19:45:29] <alexey.veselovsky> Хоть какой-то синглетон :-)
[19:56:10] <vlad2> Не упоминай это слово в суе :)
[19:56:31] <alexey.veselovsky> синглетон, Синглетон, СИНГЛЕТОН!
[19:56:34] <alexey.veselovsky> :-D
[19:56:45] <vlad2> всуе :)
[19:57:07] <alexey.veselovsky> Хорошая же штука! Любой модуль в по сути своей синглетон и является гнездом для иных синглетонов!
[19:57:34] <vlad2> Тот, кто придумал паттерн синглетон должен пофикстить хотя бы 1% их неправильного использования.
[19:57:42] <alexey.veselovsky> :-)
[19:57:47] <alexey.veselovsky> злой ты!
[20:12:43] <vlad2> Причем даже классические примеры в книжгах лгут. Клавиатура - одна - синглетон. Хер! Завтра у тебя будет две клавиатуры и ты задолюаешься переписывать код.
[20:13:10] <alexey.veselovsky> Это точно :-) Клавиатура одна, мышь одна, монитор один. Ога
[20:13:21] <alexey.veselovsky> Сто раз на это уже напарывались
[20:16:56] <vlad2> По состоянию на сейчас в моем представлении в программе может быть только один синглетон - Application. Все. За все остальные синглетоны надо сразу наказывать и жестоко.
[20:17:16] <vlad2> (static переменные в рамках одного модуля не в счет)
[20:17:30] <alexey.veselovsky> Да ладно, если прога планируется мелкой (скажем 2 тыщи строк кода) то можно и посинглетонить
[20:17:35] <vlad2> (при условии, конечно, что они не торчат наружу неопсредственно)
[20:17:45] <alexey.veselovsky> Если же планируется 100 тыщ строк, то да. Отрубать на месте руки
[20:26:14] <alexey.veselovsky> о! опенсурс рулид! http://www.opennet.ru/opennews/art.shtml?num=38197
[22:03:48] <vlad2> Так. Все. Опять погружаться в жабаскрипт. Бещз третьего кофе не обойтись...
[22:04:07] <vlad2> Надо еще валерьянку раздобыть.
[22:07:10] <vаlexey> кстати, да. попробую добраться таки до жабаскрипта и компилера в эти выходные
[22:07:22] <vаlexey> надо таки вменяемый редактор уже делать.
[22:07:40] <vаlexey> а без ковыряния в компиляторе не выйдет это сделать :-)
[22:07:58] <vаlexey> (может даже что-то в компилере придется поменять)
[22:09:40] <vlad2> Флаг в руке.
[22:10:05] <vlad2> У меня пока в процессе подденржка модулей nodejs (выхлоп компилтятора)
[22:10:47] <vlad2> А когда будут на выходе модули nodejs, то можно начать куски компилтяора переписывать на обероне ;)
[22:13:57] <vаlexey> ага :-)
[22:14:33] <vlad2> Вот когда эекстеншины то попрут ;)
[22:16:23] <vаlexey> ибо писать на труъ-обероне тяжко? :-)
[22:16:57] <vlad2> Угу.
[22:17:07] <vlad2> Не, я честно выстрадал модуль со строкой :)
[22:17:29] <vlad2> Написал, обсужид. Даже Илья сказал, что так жить нельзя ;)
[22:18:12] <vlad2> Но как я уже говорил - для мазахистов останется труЪ оберон моде.
[22:18:22] <vlad2> С ЦД.
[22:34:52] <vаlexey> vlad2: ну, я все же попробую сделать набор концептуальный костылей в виде IDE. Собственно это один из моих экспериментов - взять минимальный язык и усилить его мощной IDE/тулзами. И посмотреть что выйдет :-)
[22:35:15] <vаlexey> Один раз такой фокус в истории уже прокатил (и еще как прокатил!), но там язык был все же мощнее.
[22:38:57] <vаlexey> Научно-забавно-гендерное: http://macroevolution.livejournal.com/139238.html
[22:52:15] <vаlexey> "Вот смотрю я батюшек,разъезжающих на машинах бизнесс-класса и думаю: "намолил!"...."
[22:56:09] <vlad2> Смолтолк? Или еще что-то?
[22:56:36] <vаlexey> java же :-)
[23:01:27] <vlad2> Там был еще мощный форсинг.
[23:03:35] <vаlexey> vlad2: ну у плюсов тоже форсинг был, да и у делфей тоже.
[23:03:57] <vаlexey> Но штука в том, что форсь не форсь, а технически такую же няшку как для жабки сделать не вышло ни там ни сям.
[23:04:28] <vаlexey> А у жабы по сути вся тройка IDE на голову или две выше и краше чем у любого другого языка.
[23:04:45] <vаlexey> В результате на жабках быдлокодить много проще.
[23:05:16] <vаlexey> И пофигу что язык до недавнего времени был ну совсем слабенький да маленький (по возможностям с плюсами или Адой вообще рядом не стоял).
[23:06:31] <vаlexey> xxx: я учу HTML, не мешайте.
yyy: И чему ты его учишь, если не секрет?
zzz: плохому. Хорошему его научить нельзя.
[23:11:06] <vаlexey> охохо. боль, страдания и жабаскрипт...
[23:12:25] <vlad2> ;)
[23:13:00] <vаlexey> Щща опять разбираться какой контекст чего значит в компиляторе :-)
[23:13:04] <vаlexey> сплошные контексты!
[23:13:14] <vlad2> А. Да. Там жестко.
[23:13:18] <vаlexey> Без статической типизации тя-яжко.
[23:13:40] <vlad2> Но я тебе вроде говорил - если че комментируй непонятное место и смотри какие тесты попадат.
[23:14:09] <vlad2> Самый злобный там DesignatorContext. Я уже не понимаю как оно работает.
[23:14:18] <vаlexey> :-)
[23:15:05] <vаlexey> ну вот берем лексер. смотрим скажем:
[23:15:07] <vаlexey> exports.hexDigit = function(stream, context){
[23:15:13] <vаlexey> это чо за контекст такой?
[23:15:29] <vаlexey> stream, это видимо то ли строка то ли что-то подобное, но что такое контекст?
[23:16:35] <vаlexey> попробую в отладчике залезть чтобы понять.
[23:18:01] <vаlexey> а еще надо будет когда-то прикрутить source map...
[23:22:25] <vlad2> это люой контекст
[23:22:46] <vаlexey> э? что-то меня это как-то пугает
[23:23:03] <vlad2> Посмотри grammar.js
[23:23:18] <vlad2> Какой контекст там у hexDigit
[23:23:27] <vаlexey> var Context = require("context.js");
[23:23:34] <vаlexey> ААА!!! Еще один контекст!
[23:24:54] <vаlexey> context(and(digit, repeat(hexDigit), "H", separator), Context.HexInteger)
[23:24:55] <vlad2> Не, там в grammar.js прописывает связка между конкртными контекстами и синатксическими элементами.
[23:24:56] <vаlexey> o_O
[23:25:03] <vlad2> Ага.
[23:25:09] <vlad2> Context.HexInteger
[23:25:13] <vаlexey> так. контекст это еще и функция
[23:25:17] <vlad2> Вот этот контекст туда и пойдет.
[23:25:24] <vlad2> Ага :)
[23:25:50] <vlad2> На самом деле это "associateWithContext", но так слишком длинно.
[23:25:53] <vаlexey> Контекстно-ориентированное программирование!
[23:26:44] <vlad2> А вот ты представь, что там был бы один сингдетон currentContext, который менялся бы все время. Вот тогда бы ты не жаловался ;)
[23:27:15] <vаlexey> Ага, как в той рекламе - что выбираешь, тайд, или кипячение? :-)
[23:27:46] <vаlexey> о, а в файрфоксе то отладчик тоже вполне себе вменяемый
[23:27:50] <vаlexey> как бы не лучше чем в хроме
[23:28:31] <vlad2> Вобщем ты это, предлагай как лучше. Только сначала подумай как это сделать на жабаскрипте.
[23:29:18] <vlad2> (кроме классического "переписать все нах") :)
[23:29:32] <vаlexey> А можно, я в случае чего на Обеоне-07/11 перепишу? :-)
[23:29:39] <vаlexey> Кусочек :-)
[23:29:59] <vаlexey> Хотя нет, вначале биндинг. Мне компилятор нужен как либа с его потрохами.
[23:30:42] <vlad2> Можно. Только но пока все равно не готово инфраструктурно. Я как раз над эти работаю.
[23:32:11] <vаlexey> Короче, вначале мне надо понять компилер как есть. Насколько просто будет его использовать как сервис/либу для разных нужд не связанных с генерацией кода.
[23:32:29] <vаlexey> (подсветка синтаксиса там, построение всяких замечательный деревьев и проч)
[23:33:30] <vlad2> Там оно ж однопроходное.
[23:33:43] <vlad2> Так что для построения деревьев надо переипсывать нах :)
[23:34:32] <vаlexey> А зачем для построения дерева многопроходное?
[23:34:49] <vаlexey> По сути у тебя сейчас компилер работает как SAX-парсер XML
[23:35:17] <vаlexey> А этого достаточно чтобы дергая за калбеки когда у тебя очередное правило вывода случилось, кто-то сторонний смог построить дерево
[23:35:24] <vlad2> Хорошо. Он просто сейчас не строит дерево, потому чтооно екму не надо.
[23:35:27] <vаlexey> И спокойно после завершения парсинга с ним жить.
[23:35:37] <vаlexey> Ну и отлично. Не его это дело - дерево строить.
[23:35:44] <vаlexey> Кому надо - тот пусть и строит :-)
[23:36:03] <vаlexey> А компилер просто подергает заинтересованных за калбеки в процессе разбора
[23:40:53] <vаlexey> о-о.. метод рекурсивного спуска. ы-ы. стек вызовов - у-у-у...
[23:45:54] <vаlexey> http://cdn.imghack.se/images/fc816c607770e1e659fad79835f82479.png
[23:45:56] <vаlexey> во
[23:46:41] <vаlexey> стек вызовов
[23:47:25] <vlad2> Дык, велкам то жабаскрипт
[23:48:06] <vlad2> Это кстати иллюстрация к калечному ООП, которое пвтаются делать в жабаскрипте.
[23:48:27] <vlad2> Методы с именами есть, а в стеке сплошные anonynous.
[23:49:05] <vаlexey> дас, обломс
[23:49:23] <vlad2> Поэтому надо писать:
method: function Class$method()...
[23:49:31] <vlad2> И прочий мусор.
[23:49:32] <vаlexey> итить!
[23:49:45] <vlad2> Естественно оно рассинхронизируется и т.д. и т.п.
[23:49:55] <vаlexey> Кстати, в hexDigit приехал CharContext
[23:50:21] <vlad2> Посмотри в grammar.js - он видимо с несколькими контекстами используется
[23:50:22] <vlad2> .
[23:50:48] <vаlexey> угу
[23:50:54] <vаlexey> еще в стринге есть
[23:56:20] <vаlexey> такс. постепенно в мозгу начинает проясняться :-)