Home
Objective Caml
ocaml@conference.jabber.ru
Воскресенье, 3 апреля 2011< ^ >
ygrek установил(а) тему: Камль -- http://caml.inria.fr | Логи -- http://chatlogs.jabber.ru/ocaml@conference.jabber.ru/ | Вики -- http://gdsfh.dyndns.org/kamlo/ | Верблюды грязи не боятся! | release crap, enjoy NIH | репортьте баги официальным дилерам | ocaml мёртв, move on | Здесь бывает ermine!!111
Конфигурация комнаты
Участники комнаты

GMT+4
[00:24:03] arhibot вышел(а) из комнаты
[00:48:24] Kakadu вышел(а) из комнаты
[01:23:59] ygrek собрал рабочий mldonkey кросс-камлем для armel
[02:04:07] superbobry вышел(а) из комнаты
[02:04:22] superbobry вошёл(а) в комнату
[02:33:39] ftrvxmtrx вышел(а) из комнаты
[02:33:50] ftrvxmtrx вошёл(а) в комнату
[02:37:02] ygrek вышел(а) из комнаты
[02:42:07] superbobry вышел(а) из комнаты
[02:42:21] superbobry вошёл(а) в комнату
[03:48:03] ftrvxmtrx вышел(а) из комнаты
[03:49:38] ftrvxmtrx вошёл(а) в комнату
[04:00:12] ftrvxmtrx вышел(а) из комнаты
[04:01:50] ftrvxmtrx вошёл(а) в комнату
[04:34:29] Typhon вышел(а) из комнаты
[10:24:34] Kakadu вошёл(а) в комнату
[10:46:29] ygrek вошёл(а) в комнату
[10:56:13] ftrvxmtrx вышел(а) из комнаты
[11:13:41] ftrvxmtrx вошёл(а) в комнату
[11:19:38] ermine вошёл(а) в комнату
[12:22:32] <Kakadu> как в камле выглядит приведение от  надкласса к подклассу?
[12:23:55] <Kakadu> а то мне этот js_of_ocaml временно выносит мозг
[12:24:42] <Kakadu> есть класс node который имеет метод subnodes : node list
[12:25:17] <Kakadu> ещё класс element inherit node и у него есть список атрибутов
[12:26:19] <Kakadu> получается чтобы обойти все html елементы, надо обходить node и в самом начале кастовать к element
[12:26:32] <Kakadu> так бы я написал на с++ )
[12:34:46] <Kakadu> Dom_html.CoerceTo умеет приводить только elemnt и его подклассы. наверное надо что-то дописать туда....
[13:24:24] <gds> к более конкретному классу -- зависит от специфики.  Смотреть CoerceTo, наверное, это правильно.  К менее конкретному -- "object :> superclass".
[14:02:06] Typhon вошёл(а) в комнату
[14:03:06] arhibot вошёл(а) в комнату
[14:03:22] arhibot вышел(а) из комнаты
[14:12:47] Typhon вышел(а) из комнаты: Replaced by new connection
[14:12:50] Typhon вошёл(а) в комнату
[14:16:32] ygrek вышел(а) из комнаты
[14:16:56] ygrek вошёл(а) в комнату
[15:22:27] ftrvxmtrx вышел(а) из комнаты
[15:27:56] <ermine> Kakadu: а от какой фазы луны зависит количество слова "какаду" в твоем емейле в мейллисте оксигена?
[15:28:08] <ermine> то одно, то два какаду :)
[15:28:34] <Kakadu> я подписываюсь как Kakadu
[15:28:51] <Kakadu> а в настройках gmail ещё имя есть = Kakadu
[15:29:02] <Kakadu> и фамилия там тоже - Kakadu
[15:29:43] <ermine> ну зачем так париться
[15:30:10] <Kakadu> я этот ящик лет 5 назад создал
[15:30:17] <Kakadu> сейчас подумаю как поправить
[15:30:39] <Kakadu> и вы ещё меня спрашивали какой у меня ник на гитхабе)
[15:31:16] <ermine> да, а какой?
[15:32:30] <ermine> Kakadu: вон в мейллисте я пишу свое полное фио, но эти франзуцы уже привыкли ссылаться на меня по нику, если упоминают что-то из моих писем
[15:32:45] <ermine> просто подпись у меня такая
[15:35:50] ermine позырила в github.com/kakadu
[15:37:52] Kakadu боится что бить будут
[15:38:03] <ermine> в цивилизацию 3 только маньяки палятся
[15:38:34] <Kakadu> ermine: ну а если мне надо сдавать программу про можелирование боя, то что в этом плохого?
[15:39:25] <Typhon> программу по моделированию боя? oO c4i прямо какой-то с rma! а что за предмет?
[15:39:27] <Typhon> военка? %)
[15:39:35] Kakadu считает, что freeciv надо переписывать заново с фичами новых Цив
[15:39:51] <Kakadu> Typhon: ты прям этот самый, ну телепат
[15:40:08] <Kakadu> а что такое rma?
[15:40:22] <Kakadu> и что такое i в c4i ?
[15:40:27] <Typhon> ничего себе у вас военка. у всех знакомых уставы и плац всякий был. revolution in military affairs
[15:40:48] <Typhon> команд, контро, компутерс, коммуникейшн энд интелледженсе
[15:40:51] <Typhon> разведка.
[15:41:16] superbobry вышел(а) из комнаты
[15:42:53] <ermine> и мытье посуды
[15:44:11] <Kakadu> Typhon: а откуда эта аббревеатура? она общепринятая?
[15:44:20] <Kakadu> или проще погуглить?)
[15:44:40] <Typhon> http://en.wikipedia.org/wiki/C4I
[15:44:42] <Typhon> общепринятая
[15:44:57] <Typhon> там правда новые концепции уже есть.
[15:45:19] <ermine> я своего благоверного заставила использовать lua для программирования бота, который за благоверного играл в какую-то морскую игру и умел распознавать картинки
[15:46:20] <Typhon> ну вот, даже в игры тебе программы играют за человека!
[15:47:56] <ermine> да, это было удобно - запускаешь на ночь... командир спит, а его комп там воюет и набивает себе очки
[15:58:55] <Kakadu> вообще пара человек из #qt  одобрила реинкарнацию Цивы.
[15:59:27] <Kakadu> правда я начну этим заниматься только если допилю кутикамль (что маловероятно)
[16:02:35] <Kakadu> вроде позавчера много людей подымали праздничные штанги.
[16:31:57] ftrvxmtrx вошёл(а) в комнату
[17:13:30] ygrek вышел(а) из комнаты
[17:21:54] Typhon вышел(а) из комнаты
[17:41:56] ygrek вошёл(а) в комнату
[18:22:32] komar вышел(а) из комнаты: Replaced by new connection
[18:22:32] komar вошёл(а) в комнату
[18:30:57] <Kakadu> представьте себе сервачок, который управляет контентом вики и визивигом. Каким вы его видете?
[20:36:30] Typhon вошёл(а) в комнату
[20:38:19] <Typhon> Kakadu, што значит управляет? и в каком смысле сервачок? ясное дело, что не lamp, а расовый оксиген, если про софт. и любая скв в качестве дб :-)
[20:39:07] <Kakadu> то, что оксиген это понятно
[20:39:40] <Kakadu> скв=система контроля версий? и дб=база данных?
[20:40:37] <Typhon> угу.
[21:44:49] <ermine> какой интересный глоссарий
[21:45:38] <gds> ну не в свободно-конвертируемой валюте же хранить децибеллы, в самом деле.
[21:45:40] <ermine> Kakadu: попробуй посмотреть на ikiwiki
[21:46:31] ermine еще до операции поняла как пристегивать гит к версионингу контента, но еще никак не приступит к делу
[21:49:21] <Typhon> а что там пристёгивать, на каждый комит есть ссылка с дерева (или наоборот) -- в дереве всё лежит. то есть есть контект для любого среза истории.
[21:50:35] <ermine> Typhon: надо привязывать рабочую копию репы к юзеру/сессии
[21:51:01] <ermine> шоб не было конфликтов в одновременных коммитах
[21:51:06] <Typhon> я ветку к юзеру/сессии привязываю
[21:51:48] <ermine> а ветка зачем?
[21:52:10] <ermine> пуллишь, пытаешься закоммитить, пушишь
[21:52:34] arhibot вошёл(а) в комнату
[21:52:39] <Typhon> в каждой сессии туда что-то гадится, по завершении мастер мёрджится, если конлфикты -- об этом записывается, мёрдж абортится.
[21:52:56] <Typhon> мне в мастере нельзя конфликты делать.
[21:54:17] arhibot вышел(а) из комнаты
[21:55:45] <ermine> Typhon: а если два юзера редактируют одну статью?
[21:55:49] <Typhon> Блиц опрос -- QuickCheck_main или Quickcheck_main
[21:55:56] <ermine> у них одна ветка или две ветки?
[21:56:04] <Typhon> ermine, у меня не статьи в задаче, но пофиг -- две ветки.
[21:56:34] <Typhon> я один из них смёрджится с мастером быстрее.
[21:56:55] <Typhon> второму, если будут конфликты в "статье" -- дадут отлуп
[21:57:18] <ermine> Typhon: тогда тут никакой совместной работы
[21:57:31] <ermine> каждый в своем котле парится
[21:57:40] <Typhon> ermine, почему? ему дадут отлуп, в смысле, конфликты покажут.
[21:58:16] <Typhon> а как ты хочешь? что под рабочей копией подразумеваешь (которая для сессии).
[21:58:19] <ermine> Typhon: ему надо показать текущую версию другого
[21:58:50] <ermine> а две ветки, хм-хм, как-то клонировать через весь винт
[21:59:04] <ermine> хотя тут тоже есть о чем подумать
[21:59:56] <Typhon> ermine, вот "конфликты" это и будет текущая версия, только не другого, а того, что тут уже успел "сохранить" в мастер. конфликт стандартный гитовый -- типа общее и разночтения.
[22:00:50] <ermine> Typhon: ну такой конфликт я хотела припахать только к текущей рабочей копии
[22:01:07] <ermine> точнее к копии, привязанной к этой группе бандитов
[22:01:59] <Typhon> а, то есть ты создаёшь на факт редактирования статьи копию. и все, кто начинают её же редактировать, гадят туда же
[22:03:00] <ermine> ну примерно так
[22:03:23] <ermine> пусть юзеры парятся в своем общем котелке
[22:06:16] <Typhon> а коммитить данные ты как хочешь, патчи генерировать? или просто "юзер жмёт кнопку save, то обновлённая версия файла пишется на диск; вызывается git commit"? если так, то второй парень жмякнет тоже саве и его обновлеённая версия спокойно перезатрёт изменения второго и закоммитится без конфликтов, даже если содержимое полностью поменялось
[22:09:15] <ermine> коммитят все
[22:09:22] <ermine> а вот кто пушит - хз
[22:10:36] <ermine> видимо тот, кто публикует контент
[22:11:12] <ermine> Typhon: наверное в твоей схеме нет ремотной репы
[22:11:17] <Typhon> ну вот ситуация, есть файлик статья1
user1:   echo "blabla" >> статья1
user1:   commit
user2:   echo "foobarbuzz" >> статья1
user2:   commit
[22:11:28] <Typhon> правки первого запросто теряются :-(
[22:12:02] <ermine> ну кто коммитит первым - тот победил
[22:12:19] <ermine> а ремотная репа - это чтобы туда конфликты не выползали
[22:12:19] <Typhon> :-) тут наоборот, второй победит.
[22:13:14] <ermine> а, точно
[22:13:24] <Typhon> гит тут не поймает же конфликт
[22:13:32] <ermine> ну пусть последний побеждает
[22:13:36] <Typhon> а с веточками поймает.
[22:14:22] <ermine> ну можно завести веточки локальной репы
[22:14:41] <ermine> Typhon: что ты там цамлишь? комьюнити?
[22:17:29] arhibot вошёл(а) в комнату
[22:18:04] <Typhon> не, с гитом я не из камла вожусь :-( это по работе. там камл немного не подошёл :-(
[22:18:59] <ermine> Typhon: ну тогда буду тырить идеи у тебя
[22:19:28] <ermine> вот, за веточки спасибо
[22:20:36] <Typhon> только надо не забывать переключаться, типа транзакция "co br1; ci; co master" чтобы один юзер другому не покоммитил.
[22:21:34] <gds> Typhon: просто интересно, почему камл не подошёл?
[22:21:56] <gds> понимаю, есть десятки причин, но интересны встречающиеся на практике.
[22:22:21] <ermine> gds: коллектив не тот?
[22:22:43] <gds> это одна из возможных причин, да.
[22:23:03] <arhibot> Typhon: /me напрямую работает с объектами гита
[22:23:37] <ermine> arhibot: из камла?
[22:23:44] <arhibot> тогда можем спокойно параллельно коммитить в разные ветки
[22:24:12] <arhibot> ermine: из питона. но вот посмотри:http://libgit2.github.com/
[22:24:23] <ermine> arhibot: а что надо об этом почитать?
[22:24:40] <arhibot> а том как работать напрямую?
[22:24:45] <ermine> у гита же нет API
[22:24:48] <Typhon> gds, zmq не было тогда в гите (либо я плохо поискал), bson'а не было (я ща пишу), либки для работы с гитом толковый вроде как не было (окамл-гит хз какой свежести). zmq и bson используются в остальных проектах и интероперабельность нужна. коллектив, кстати, спрашивал насчёт камла. + нужна морда , которую будет писать другой человек, тут для морд пользуют Rubyonrails. и руби вообще распространён + для него уже все требования есть. и библиотеку можно использовать спокойно из РоР морды.
[22:24:56] <Typhon> ermine, вот как раз в либгите апи есть.
[22:25:16] <Typhon> arhibot, он же пилится ещё, не? либгит2 то, апи там не стабильное, когда я смотрел, было.
[22:25:18] <arhibot> ermine: http://eagain.net/articles/git-for-computer-scientists/ внтуреннее устройство
[22:25:40] <arhibot> Typhon: угу, пока да
[22:26:27] <arhibot> ermine: а дальше уж любую либу умеющую работать с объектами гитовыми. для питона таких как минимум 3
[22:26:27] <ermine> пасиб за ссылку
[22:27:29] <Typhon> arhibot, нативно работать с гитовыми потрохами это ок, но не получится ли местами какой-нибудь не консистентности? + конлфикты кто должен палить?
[22:27:44] <gds> Typhon: о как всё, понял.  Классические проблемы "нет биндингов".
[22:28:46] <arhibot> Typhon: конфликты самому придется палить
[22:28:51] <ermine> придеццо как-нить на камле народить биндингов к либгиту
[22:28:54] <gds> кстати, хотел сказать, что возникла нужда взаимодействовать с х-ем (предоставлять апи).  но возникла 1 апреля, сказал бы -- не поверили бы...  В общем, не знаю пока, что делать.
[22:29:06] <ermine> не питон же юзать, религия не допустит
[22:29:19] <Typhon> gds, да, в основном сюда всё упёрлось, сейчас хочу это решить, чтобы можно было партизански протолкнуть ВНЕЗАПНО камель :-)
[22:29:20] <arhibot> питонячие биндинги сломаны были
[22:29:53] <Typhon> gds, а в каком виде взаимодействовать? ну то есть, это либка какая-то или как?
[22:29:55] <arhibot> как раз потому что апи-не-стабильное
[22:30:02] <ermine> arhibot: ну как же еще если не через биндинги дергать?
[22:30:13] <Typhon> ermine, а глянь на ocaml-git
[22:30:30] <ermine> вот если бы был asn.1 структуры гита - можно было бы нагенерить чистое камло :)
[22:30:36] <Typhon> я не помню, они там ответы от гит-бинарника парсят или в .git ковыряются.
[22:31:29] <arhibot> ermine: поискать либы наверняка есть :) Там никакого рокет-сайнса нет внутри гита
[22:31:47] <ermine> Typhon: ой, уже есть и такое
[22:32:32] <arhibot> ermine: http://book.git-scm.com/7_how_git_stores_objects.html вот эту ссылку хотел дать сначала
[22:33:04] <Typhon> https://github.com/burdges/libgit2-ocaml/
[22:33:13] <Typhon> а теперь и к либгиту биндинги нашлись
[22:33:25] ermine тщательно закапывает ссылки
[22:33:51] <Typhon> а вот https://github.com/avsm/ocaml-git
[22:34:09] <Typhon> но там никаких обновлений с того момента, как я на него смотрел нету :-(
[22:37:06] <ermine> arhibot: а насколько этот libgit2-ocaml годный уже?
[22:37:13] <ermine> на твой взгляд
[22:37:35] <arhibot> ermine: я не в курсе, я ocaml не знаю :)
[22:38:29] <ermine> arhibot: хм, по идее, раз тут долго сидишь - уже можно было бы и подсознательно его выучить
[22:39:12] <arhibot> вы тут интересные вещи пишите в отрыве от окамла :)
[22:39:15] <ermine> ыыы Makefile там!!!
[22:39:46] <ftrvxmtrx> ужас какой-то
[22:39:57] <ermine> arhibot: вот там есть файлик, называется TODO
[22:40:12] <Typhon> тут ocaml-zmq зачем-то с оазиса ушёл обратно на макефиле :-(
[22:40:29] <ermine> обычно там есть всё, что обычно отпугивает от поделки
[22:40:38] <Typhon> :-)
[22:40:45] <Typhon> ну судя по коммитам -- чувак работает.
[22:41:03] <Typhon> держит, видимо, совместимость с либгит.
[22:41:09] <ermine> ага
[22:41:33] <Typhon> вообще, можно без либ попробовать работать, если не много надо -- нужны файловые операции, gz и sha, емнип
[22:41:44] <ermine> надо будет попробовать
[22:41:54] <arhibot> Typhon: это если packed объектов не будет
[22:42:24] <ermine> Typhon: меня в гите как раз смущала необходиость работы с командлайн
[22:42:46] <arhibot> ermine: очень медленно, ты права
[22:42:50] <Typhon> arhibot, ну к пакед camlzip  -- это я его gz обозвал. там же вроде ничего больше не накрученно
[22:43:14] <Typhon> ermine, plumbing интерфейс как раз для нелюдей, в принципе, сделан. но не особо комильфо, да.
[22:43:32] <Typhon> зато вот дифф и конфликты попалить проще коммандлайном, думаю.
[22:44:00] <ermine> arhibot: не только, я сначала не понимала идею транзакций (пока zert не подсказал схему с локальными копиями и ремотной репой)
[22:44:33] <arhibot> а какая задача, если не секрет?
[22:44:41] <gds> Typhon: это как бы либка, которую мне стоило бы предоставить для х-я.  Через сишечьку работать -- можно, но криво.  Вызов функций одного языка из рантайма другого -- это я отверг сразу, ибо куча проблем будет на ровном месте.  То есть, получается, структуры данных должны быть простые, и должны быть общим подмножеством типов обоих языков.
Сериализацию -- думаю вот.  Какой-нибудь yojson взять, для которого есть atdgen, из которого генерить код для нужных языков и там как-то мешать через их бинарный протокол, хз.
[22:46:02] <ermine> arhibot: версионить контент сайта
[22:48:35] <arhibot> и один и тотже контент может меняться разными пользователями?
[22:48:45] <ermine> в друпале есть две табличке - node и node_revisions, во второй контент и его версия, а в первой - ссылка на id во второй таблице
[22:48:59] <ermine> проще некуда
[22:49:13] <ermine> зато как диффить - геморрой уже :)
[22:49:30] <arhibot> ну тут же не решена проблема, что последний перетирает первого
[22:49:41] <arhibot> или где?
[22:49:42] <arhibot> :)
[22:51:09] <ermine> ну откатывать можно
[22:51:30] <arhibot> ну в гите с одной рабочей копией и без веток то тоже можно
[22:51:41] <ermine> тут конфликтов вообще никаких
[22:51:48] <arhibot> с "одной рабочей копией лишнее"
[22:52:47] <ermine> зато сайт работает только с генеральной рабочей копией...
[22:53:45] <ermine> в связи с чем еще подумалось об грядке репок
[22:55:27] <ermine> perl wrappers.pl >wrappers.h
Can't use global $_ in "my" at wrappers.pl line 12, near "($_"
[22:55:34] <ermine> ых-ых
[22:56:06] <Typhon> што эта?!
[22:56:31] <ermine> неудавшаяся сборка libgit2-ocaml
[22:57:07] <Typhon> перл?
[22:57:16] <Typhon> это у него так, или в самом либгите?
[22:57:25] <ftrvxmtrx> перловый кодогенератор
[22:58:39] <ermine> а как лечить и кого?
[22:58:56] <arhibot> учить perl =)
[22:59:16] <ermine> отфоркнуть и переписать на camlp4
[22:59:30] ygrek вышел(а) из комнаты
[23:01:28] <ermine> ага генератор - врапит в CAMLprim обвязку
[23:02:04] <ermine> только чота не найду список голых функций
[23:04:22] <ermine> короче, не компилится
[23:04:32] ermine расстроилась и пошла спать
[23:06:17] ermine вышел(а) из комнаты
[23:26:58] Typhon вышел(а) из комнаты
[23:31:58] arhibot вышел(а) из комнаты
[23:51:02] Kakadu вышел(а) из комнаты
Powered by ejabberd Powered by Erlang Valid XHTML 1.0 Transitional Valid CSS!