[00:00:04] <ilov_boris> Кстати мне няшную сишку почему-то больше хочется изучить чем с++
[00:00:31] <valexey> потому что семантика проще.
[00:00:41] <ilov_boris> ога
[00:00:49] <valexey> на мелких проектах - почему бы и нет?
[00:01:03] <ilov_boris> Ну и мне сишка нужна как вспомогательный язык
[00:01:24] <ilov_boris> с++ в такой ипостаси нинуже
[00:01:28] <ilov_boris> нинужен
[00:01:49] <ilov_boris> Либу для Lua там запилить
[00:01:53] <ilov_boris> али еще чего
[00:01:54] <valexey> тем более. кроме того, сам lua же на сях писан. так что я бы тоже, вероятно, что-то мелкое для луа не стал бы на плюсах-плюсах прям таки писать.
[00:08:26] <ilov_boris> В LuaJIT такой неприятный момент обнаружился
[00:09:02] <ilov_boris> если сликовать оный статически с msvcr
[00:09:34] <ilov_boris> то через ffi не будут доступны posix функции
[00:11:13] <ilov_boris> можно конечно подгрузить типа ffi.load("msvcr100")
[00:11:55] <ilov_boris> Но как определить какой версии msvcrXXX есть на машине хрен знает
[00:12:35] <ilov_boris> Пришлось оставить динамическую линковку и рядом с luajit.exe положить оную dll
[00:12:51] <ilov_boris> а она сука 800 кб
[00:13:12] <valexey> 800 Кб не размер :-)
[00:13:31] <ilov_boris> Один хрен жаба душит
[00:13:35] <valexey> ладно, пойду игру престолов смотреть :-)
[00:13:44] <ilov_boris> я только с iconv от этих 800 избавился...
[00:13:48] <ilov_boris> :D
[00:13:57] <ilov_boris> давай
[00:53:37] <valexey> vlad2: http://www.opennet.ru/opennews/art.shtml?num=36746
[00:58:05] <valexey> но походу брешут.
[01:59:58] <ilov_boris> охренеть http://www.tecgraf.puc-rio.br/iup/
[02:00:05] <ilov_boris> BB отдыхает :D
[02:00:29] <ilov_boris> тьфу блин вот http://www.tecgraf.puc-rio.br/iup/en/dlg/iupelementpropdialog.html
[02:03:09] <ilov_boris> это просто охеренно!
[02:04:35] <ilov_boris> Еще бы научиться сохранять настройки формы и будет почти как в 1С :D :D :D
[02:13:18] <ilov_boris> Аааааааааааа http://www.tecgraf.puc-rio.br/iup/en/dlg/iuplayoutdialog.html
[02:13:38] <ilov_boris> Я уже люблю эту либу
[02:14:55] <ilov_boris> Блин а я все руками писал
[02:15:17] <ilov_boris> Тут редактор форм как в 1С почти
[02:21:56] <valexey> :-)
[02:22:06] <valexey> Ужель ты предашь ББ? :-)
[02:22:22] <ilov_boris> уже предал
[02:22:24] <ilov_boris> :)
[02:22:36] <ilov_boris> Нужно срочно ББ портировать на эту либу
[02:22:42] <ilov_boris> это ж мана небесная
[02:23:02] <valexey> Дык у ББ все своё. Зачем ему?
[02:23:22] <valexey> Это все равно что C# портировать на java
[02:23:28] <ilov_boris> Тык у него это свое только на винде работает
[02:23:30] <valexey> Ну и наоборот.
[02:23:44] <ilov_boris> А эта либа кроссплатформенная
[02:23:51] <valexey> Ну, вон Пётр пилит OpenGL, будет работать везде.
[02:24:15] <ilov_boris> Петру до функционала IUP как до китая раком :)
[02:25:03] <valexey> А он не функционал пилит, он Hosts, или как его там зовут, пилит.
[02:25:09] <valexey> То есть механизмы отрисовки.
[02:25:26] <valexey> Функционал там остается ББшный.
[02:25:36] <ilov_boris> ББ весь на winapi
[02:25:48] <ilov_boris> Отрисовкой одной не обойдешься
[02:26:18] <ilov_boris> Как минимум главное окно нужно с нуля переписывать
[02:26:25] <valexey> ну, не весь. есть же (был же) ББ на маке. Так что портабельность у него таки в крови.
[02:26:53] <valexey> Потом правда наросла пачка костылей. Пришпиливающих к Win32
[02:27:23] <valexey> Вот эти костыли Пётр и Ко выдергивает + новый Hosts делает. В принципе деятельность полезная.
[02:27:36] <ilov_boris> А какой смысл делать велосипед если есть готовое бесплатное свободное ?
[02:27:51] <ilov_boris> Я еще понимаю сделать что-то другое
[02:28:03] <ilov_boris> типа оригинального интерфейса Оберона
[02:28:24] <ilov_boris> А вот форточки свои ваять смысла имхо нет
[02:28:42] <ilov_boris> В ББ очень примитивный интерфейс
[02:28:54] <valexey> это бесплатное-свободное чуждое будет КП. Вместо однородной среды будет смесь из языков.
[02:29:00] <valexey> Я на такое напарывался.
[02:29:11] <ilov_boris> Чем оно чуждое?
[02:30:21] <valexey> Сями :-)
[02:30:39] <valexey> Либа слишком высокоуровневая.
[02:30:58] <ilov_boris> Она наоборот низкоуровневая
[02:31:20] <ilov_boris> По сути две операции
[02:31:25] <ilov_boris> Получить атрибут
[02:31:30] <ilov_boris> Установить атрибут
[02:31:54] <valexey> а визуализация? :-)
[02:32:11] <ilov_boris> А визуализацией сама либа занимается
[02:32:24] <valexey> ну, например что в ней с многопоточностью? можно ли там в главный цикл интегрироваться? (если что - это два разных вопроса)
[02:32:49] <ilov_boris> А зачем туда интегрироваться?
[02:33:18] <ilov_boris> Есть колбэки
[02:33:39] <valexey> затем. что нужно например еще какие-то сообщения перехватывать. системные.
[02:33:48] <ilov_boris> Нахрена?
[02:33:58] <valexey> задачи не сводятся к формошлепанию и генерации отчетов :-)
[02:34:11] <valexey> например для работы с сетью.
[02:34:24] <ilov_boris> А при чем тут GUI?
[02:34:28] <valexey> для работы с thread queue messages
[02:34:49] <ilov_boris> Это просто GUI
[02:34:56] <valexey> при том, что это новые классы событий которые должны обрабатываться в главном цикле (message loop) приложения. а его под себя подмяла эта либа.
[02:35:03] <valexey> точнее даже не либа, а фреймворк.
[02:35:38] <valexey> (классы событий тут не имеют никакого отношения к ключевому слову class)
[02:37:13] <ilov_boris> Ничего не понял
[02:37:31] <ilov_boris> Что именно ты собираешься делать в главном цикле гуя?
[02:38:11] <valexey> в главном цикле основного потока я собираюсь также проверять другие системные события. Ну, например воткнуть туда WaitForMultipleObjects
[02:38:27] <valexey> Для всякого-разного IPC
[02:38:53] <ilov_boris> Ну тык колбэк. не?
[02:39:12] <valexey> не
[02:39:28] <valexey> когда главный цикл позовет этот коллвзад?
[02:39:42] <valexey> по таймеру - не вариант.
[02:40:53] <valexey> ну и вообще, как туда воткнуть например работу с сетью? не плодя потоки.
[02:41:09] <valexey> или работу с аудио.
[02:41:29] <valexey> да с чем угодно другим, генерящим асинхронные не гуишные события.
[02:41:31] <ilov_boris> Это? http://www.tecgraf.puc-rio.br/iup/examples/C/idle.c
[02:42:17] <ilov_boris> Какие потоки? В ББ нет многозадачности
[02:42:40] <valexey> именно что. никаких потоков - все нужно в одном потоке организовать :-)
[02:42:56] <ilov_boris> Ну тык я ссылку дал
[02:43:08] <ilov_boris> вроде то что ты хочешь
[02:43:44] <ilov_boris> Куда еще круче мне сложно представить
[02:44:06] <valexey> Не-е. Это все же не то.
[02:44:17] <valexey> ААА!!!11 Атрибуты ТЕКСТОВЫЕ! Оно их потом ПАРСИТ!
[02:44:24] <valexey> Капец! Мои глаза! Не-е-ет!
[02:44:34] <ilov_boris> Тык это наоборот круто
[02:44:54] <ilov_boris> Это работать будет где угодно и с чем угодно
[02:45:10] <ilov_boris> Никаких типов
[02:45:16] <ilov_boris> и конвертаций оных
[02:45:44] <ilov_boris> И форму можно в текстовом файле хранить
[02:45:47] <valexey> Это не круто, это убого. :-) Для либы. Я понимаю когда текст во вне используется, но тут то он нафига - не понятно.
[02:46:10] <valexey> Форму можно и так в текстовом файле хранить. Сериализация пропертей может быть в любом виде.
[02:46:30] <valexey> В общем не. ББ на этом никогда не будет.
[02:46:45] <ilov_boris> Почему?
[02:47:07] <ilov_boris> Странно у нас восприятие ровно противоположное :D
[02:47:13] <valexey> Но реализаторам и допиляторам ББ на эту либу посмотреть безусловно стоит.
[02:47:37] <ilov_boris> Автор текстовые атрибуты сделал специально
[02:47:48] <ilov_boris> Это одна из главных фич
[02:47:54] <ilov_boris> А ты говоришь кака
[02:48:29] <ilov_boris> Это ж полная динамика
[02:48:37] <valexey> Ну да, кака. Ибо если я знаю тип, я сразу знаю что там ожидать и компилер не даст мне написать каку. А если текст - то пиши туда что хочешь, и получишь что угодно в рантайме. Кака и есть.
[02:48:41] <ilov_boris> без всяких преобьразований и конвертаций
[02:48:55] <valexey> Строгая типизация не означает отсутствие динамики :-)
[02:49:02] <ilov_boris> Вот именно что пиши что хочешь
[02:49:11] <ilov_boris> и нихрена в рантайме не будет
[02:49:17] <ilov_boris> Нда
[02:49:36] <valexey> IupSetAttribute(text, "SIZE", "100*20"); // что будет у нас в рантайме?
[02:49:50] <ilov_boris> Ничего не будет
[02:50:04] <valexey> Что значит "ничего"?
[02:50:08] <ilov_boris> Атрибут просто не установится
[02:50:42] <valexey> Именно. А когда у тебя атрибутов 100500, и в одном ошибка такая вот тупейшая, потом загребешься выискивать что там не так.
[02:50:48] <valexey> Я такое уже хлебал. Больше не хочу.
[02:51:35] <ilov_boris> valexey это все фобии
[02:51:53] <valexey> Это всё опыт. Сын ошибок трудных.
[02:51:53] <ilov_boris> Я пишу на динамическом языке каждый день
[02:52:00] <ilov_boris> несколько лет
[02:52:03] <valexey> И я. И меня достало.
[02:52:23] <ilov_boris> а ты на каком?
[02:52:26] <valexey> js
[02:52:56] <ilov_boris> js - это жопа
[02:53:03] <ilov_boris> но виновник не динамика
[02:53:16] <valexey> Да, и тут мы имеем не динамику, тут мы имеет отсутствие типов. Это вообще жопа.
[02:53:48] <valexey> В случае строгой динамической типизации (например в случае питона) мы получим хотя бы внятную диагностику на этапе исполнения.
[02:54:16] <valexey> В случае слабой типизации, или в случае безтипового поведения, мы получим что угодно без внятной диагностики.
[02:54:59] <ilov_boris> Странно. Вот я сижу клипаю приложение на IUP на динамическом языке
[02:55:11] <ilov_boris> и не понимаю о каких проблемах ты говоришь
[02:55:28] <valexey> А я не помню какая типизация у Lua
[02:55:39] <ilov_boris> Ну тык динамическая
[02:55:49] <valexey> Это не полная классификация.
[02:56:05] <ilov_boris> И на 1С я пишу и тоже проблем с типами не испытываю
[02:56:31] <valexey> Ну, человек животинка такая - ко всему приспосабливается :-)
[02:56:38] <valexey> Так, пойду ка я спать пожалуй.
[02:56:44] <ilov_boris> Давай
[02:56:49] <valexey> ББ
[16:40:43] <valexey> vlad2: http://forum.oberoncore.ru/viewtopic.php?f=28&t=4321
[16:40:47] <valexey> :-D
[16:51:25] <valexey> похоже Пётр питает какие-то нежные чувства к моей персоне :-)
[17:48:23] <vlad3> Хе-хе. Пдозревает чего-то :)
[17:49:26] <valexey> Пожалуй самую медвежью услугу Оберону можно оказать если опубликовать статью писанную фанатом.
[17:50:20] <valexey> Да, фанатом ничего не понимающим в других языках и технологиях.
[17:51:15] <valexey> /me погружается в дивный мир маздайного программирования.
[17:51:21] <valexey> /me ковыряет DirectShow
[17:56:44] <valexey> гы. msdn жжот
[17:56:57] <valexey> в одном месте написано: A live source, also called a push source, receives data in real time.
[17:57:10] <valexey> в другом месте же написано: When you write a source filter, it is important to understand that a push source is not the same thing as a live source.
[17:57:12] <valexey> o_O
[18:03:15] <jordan36957> А зачем учить directshow, есть же кросплатформенные библиотеки.
[18:03:48] <jordan36957> Или нужно написать поверх свою обертку?
[18:03:56] <valexey> Я не учу, я смотрю как сделать то, что мне нужно :-)
[18:04:07] <valexey> А мне нужно всего лишь добавить в систему виртуальную веб-камеру.
[18:04:13] <valexey> Как это сделать кроссплатформенно? ;-)
[18:04:45] <jordan36957> В скайпе как то реализовано, или там каждый код под свою платформу.
[18:05:12] <valexey> в скайпе нет виртуальной веб-камеры, он пользуется тем что есть в системе
[18:05:19] <valexey> и да, там код разный для каждой системы.
[18:07:24] <valexey> ну, кроме того, для данного проекта кроссплатформенность пока не представляется возможной даже теоретически.
[18:13:57] <jordan36957> В fltk тоже используют char и работу с индексами. Даже std string нет. Может шаблоны в open source не популярны.
[18:16:45] <valexey> fltk сколько лет? :-)
[18:17:30] <valexey> fltk 15 лет :-) оно началось тогда, когда не было стандарта плюсов
[18:17:52] <valexey> это вообще болезнь всех старых плюсатых проектов - там используются свои велосипеды для строк, контейнеров и так далее.
[18:18:15] <valexey> просто потому, что когда они начинались плюсов как таковых не было, компиляторы были убогие, а стандартная либа ужасной.
[18:19:14] <jordan36957> С++ появился 1983, а стандарт появился в 1998 как же на нём писали.
[18:19:17] <valexey> в качестве контрпримера посмотри http://www.ultimatepp.org/
[18:20:03] <valexey> Хреново на нем писали. Была уйма не совместимых реализаций. В 1983 году появился Си с классами. С++ нормально появился только в 1998 году, а реально - в 2000-2002.
[18:20:27] <valexey> То есть 1983 год это начало разработки С++.
[18:20:58] <jordan36957> Неужели в то время небыло языка лучше? Зачем выбирать язык у которого нет стандарта.
[18:21:57] <valexey> А какие варианты? Если тебе нужно говорить с системой на её языке, то есть на Си.
[18:23:30] <jordan36957> Скачал исходники ультимата весят 36 мегов, это мини qt.
[18:24:51] <valexey> кого волнует сколько весят исходники? ;-)
[18:24:53] <jordan36957> Разве вызвать фцнкцию из библиотеки сложно, даже написанной на си.
[18:25:18] <jordan36957> Значит кода очень много. Фиг разберёшься.
[18:26:01] <valexey> Конечно сложно. Ведь тебе придется постоянно поддерживать свой биндинг в актуальном состоянии. Чуть поменяется сигнатура функции и привет - неопределенное поведение твоей программы.
[18:26:19] <valexey> Причем биндинг придется постоянно поддерживать РУКАМИ. Это не автоматизируется.
[18:26:50] <valexey> Не говоря уже о том, что львиная доля "функций" в API сделана макросами. То есть функции которую нужно дернуть просто нет.
[18:26:57] <jordan36957> После распаковки 100 мегов кода.
[18:27:12] <valexey> Круть!
[18:27:49] <jordan36957> И всё для того что бы нарисовать кнопки и чекбоксы.
[18:28:09] <valexey> рисование - малая толика того, что должна делать либа.
[18:30:42] <jordan36957> Раньше же gui как то писали без этих ста мегобайт. motif, lesstif.
[18:31:28] <valexey> ой, не надо про мотифф. это жесть и содомия на нем писать.
[18:32:38] <valexey> либа должна быть такой, чтобы писать было удобно и безопасно. Львиная доля кода такой либы будет посвещена компайл-тайм проверкам, а не реализации логики отрисовки.
[18:32:44] <valexey> Код пишется для людей.
[18:38:29] <jordan36957> В ультимат не только gui, но pdf, работа с вебом, работа с базами данных и т.д
[18:44:53] <jordan36957> Если уж ультимат с шаблонами весит 100 мегов кода, это сколько ещё нагенерируется при компиляции.
[20:14:28] <TRUE> >When you write a source filter, it is important to understand that a push source is not the same thing as a live source.
[20:14:33] <TRUE> логично.
[20:14:54] <TRUE> Нужно понимать так: не сужайте понятие до его частнго случая
[20:15:09] <TRUE> >http://www.ultimatepp.org/
[20:15:30] <TRUE> посмотрел на их логотип и понял, почему пользоваться либой не стоит :)
[20:29:38] <valexey> jordan36957: думаю объем бинаря будет меньше чем ты думаешь :-)
[20:50:52] <valexey> Ня. Теперь мелкософт еще какую-то Media Foundation выдумала. В метросексуальных приложениях DirectShow не поддерживается, поддерживается только вот ЭТО.
[20:50:57] <valexey> Насколько же линух все же приятней.
[20:52:59] <valexey> Походу придется и то и это поддерживать. Жуть.
[20:56:41] <valexey> ня. какой же уродливый стиль кодирования у мелкософта.
[20:56:44] <valexey> жуть
[23:20:55] <ilov_boris> http://developerslife.ru/1068