[00:00:32] <geniepro> пытался я его изучить -- синтаксис жуткий просто
[00:00:53] <geniepro> в паскале вирт всё-таки подчистил синтаксис сильно
[00:09:22] <geniepro> "P.S. Всё это, кстати не отменяет того факта, что многие идеи у Бабаяна — вполне себе интересные и они ещё могут «выстрелить». Но в каком-то смысла сама его личность — злобная антиреклама его идей."
напоминает инфо21 -- вроде хочет пользу принести, а только отталкивает )
[00:13:37] <vаlexey> ога
[00:46:52] <vаlexey> Программистка-индивидуалка. Классические языки программирования, игры с машинным кодом, реверс-инжиниринг. Глубокая разработка без ТЗ! Звони!

Профессинальная и опытная хостинг-провайдерша надежно прикаркует ваш домен вне зависимости от размера. Все порты открыты для доступа! Есть подружка бизнес-аналитик! Звони!
[00:57:21] <vаlexey> geniepro: кстати, исходники Lola доступны
[00:57:32] <vаlexey> тут: http://www.cs.inf.ethz.ch/projects/lola/lola_lang/
[02:26:21] <vаlexey> vlad2: гы. вот бы показать Оберонщикам Quartus или там какой-нибудь ISE - среду разработки для FPGA.
[02:26:42] <vаlexey> По сложности и навороченности оно НАМНОГО превосходит всякие там Вижуал Штудии да Eclipse'ы.
[02:28:01] <vаlexey> и этим надо пользоваться чтобы собрать компьютер Вирта :-D
[02:31:03] <vlad2> Ну вот Вирт сделает сове :)
[02:31:06] <vlad2> свое
[02:31:16] <vlad2> Он им еще покажет :)
[02:32:03] <vаlexey> Ну, у него есть Lola
[02:32:11] <vаlexey> даже вон исходники её есть.
[02:32:15] <vаlexey> на Обероне
[02:32:17] <vаlexey> для Оберона
[02:32:21] <vаlexey> 4 модуля :-)
[02:32:42] <vаlexey> но язык описания (и его компиляция) это малая толика того что там нужно делать
[02:32:47] <vаlexey> один временной анализ чего стоит
[02:32:55] <vаlexey> не говоря уже о роутинге
[18:16:28] <vаlexey> Solidor: Безысходность, это когда на ярмарке вакансий технического вуза стенд макдака - самый большой и популярный
[20:18:09] <vlad2> divan, а чего там с международным проектом?
[20:18:50] <divan> движуха прет, сегодня Templ зафигачил два голосования по выбору председателя
[20:19:42] <divan> а то, я в их глазах сосунок, который суетится, а так всех чинно Рене будет общать, мне это будет по душе
[20:20:38] <divan> решено хостинг делать в Цюрихе
[20:20:51] <divan> вот собственно и все новости важные :)
[20:21:04] <divan> форму я разрубил на две части, как вы обратили внимание
[20:21:12] <divan> не дожидаясь голосования
[20:21:20] <geniepro> divan: так ты хоть доволен иекущими итогами?
[20:22:04] <divan> в целом да, все идет по плану, я очень рад, что народ начал размещать CV
[20:22:23] <geniepro> теперь АНБ всё про вас знает )))
[20:22:29] <divan> и в вики замутили проект центра, что это такое и т.п.
[20:22:45] <divan> а что такое АНБ ?
[20:23:01] <geniepro> ну эта, Снуоден, все дела )))
[20:23:29] <divan> а, ну наш то проект им на што :)
[20:24:01] <geniepro> на всякий случай )
[20:24:20] <divan> мы же заимствуем замшелые технологии у швейцарцев, а не они у нас :)
[20:25:41] <divan> меня еще Рене стращал налоговой полицией, ему не нравилось, что я денежки собираю, наверное
[20:26:12] <vlad2> Да, уних там с налогами все серьезно :)
[20:26:26] <divan> не знал, что в России она ликвидирована 5 лет назад ) да и не было у нас УК статей за неуплату налогов
[20:26:47] <divan> да, у них даже сайт нельзя открыть физ лицу
[20:26:50] <divan> я офигел
[20:27:00] <divan> ну это с его слов
[20:27:04] <divan> может он ошибается
[20:28:29] <divan> ой, а налоговую полицию то 10 лет назад разогнали :) вымогатели хреновы, задушили малых предпринимателей
[20:30:47] <divan> меня вот интересует куда пропала администрация обернкор, там спам боты засильствуют
[20:33:23] <vlad2> Да, причем их там больше одного.
[20:33:29] <vlad2> (администраторов)
[20:34:02] <vаlexey> да и спамеров тоже :-)
[20:34:15] <vаlexey> Ну конец квартала, может дедлайн какой.
[20:34:20] <vаlexey> сдача проекта там
[20:34:29] <vаlexey> или иное стихийное бедствие
[20:35:43] <vlad2> Geniepro - злой ты ;)
[20:36:09] <vаlexey> а я добрый? :-)
[20:36:42] <vаlexey> кстати, Вирт в 1995 или 1997 году ведь целую книжку по FPGA и Lola написал
[20:36:46] <vаlexey> для студентов
[20:37:14] <vаlexey> более того, у них была модификация Ceres'а в котором еще до кучи и FPGA-модуль был
[20:37:20] <vаlexey> и студенты на нем учились
[20:37:40] <vаlexey> то был atmel 6000 серии.
[20:37:51] <vаlexey> мелкая-мелкая fpga'шка
[20:38:48] <vаlexey> то есть от Лолы он абсолютно сознательно сейчас отказался.
[20:39:38] <vlad2> Дык, ты ж говорил оно слишком сложно. Нельзя объять необъятное.
[20:41:54] <vlad2> divan: вот ты как блэкбоксер скажи - не хочется ли тебе декларации методов вместе с записью, а не потом?
[20:43:11] <vаlexey> vlad2: на самом деле там просто элементарно ресурсов компа не хватит даже если все реализовать. Давеча вот скачал реализацию 16битного x86 компа. Оно у меня собиралось на i5 минуты три. При этом чисто на сборку памяти было сожрано порядка 350 Мб.
[20:43:30] <vаlexey> То есть задача весьма ресурсоемкая. Комп с метром ОЗУ просто это не осилит ни в каком виде.
[20:44:19] <vаlexey> то есть это более ресурсоемкая задача чем плюсатые сырцы компилять :-)
[20:44:27] <vlad2> :)
[20:44:46] <divan> vlad2: не приходило такое в голову почему-то
[20:45:33] <vlad2> В смысле вот ты смотришь на объявление типа и чтобы узнать есть ли у него методы смотришь там дальше в раздел процедур?
[20:45:45] <vlad2> Или ориентируегтся по ABSTRACT в типе?
[20:46:14] <vlad2> (если есть ABSTRACT тьо должны быть методы где-то нижде)
[20:46:43] <vаlexey> Не обязательно ведь абстракт.
[20:46:50] <divan> есть специальная команда для просмотра интерфейса в контекстном меню нет необходимости шарить по сырцам
[20:46:59] <vаlexey> то есть "методы" могут быть и у не расширяемой не абстрактной записи
[20:47:01] <vlad2> А. Понятно. Спасибо.
[20:47:22] <vаlexey> divan: дык, интерфейс то модуля а не записи.
[20:47:26] <vlad2> Да, могут, но они уже не так интересны как абстрактные (интрфейсные).
[20:47:37] <divan> там как раз приводится информация о процедурах записи внутри записи
[20:48:26] <divan> ну а в модуле все записи указаны и все методы записей в них аккуратненько приведены, очень удобно
[20:49:36] <divan> Alien = POINTER TO LIMITED RECORD (View)
store-: Stores.Alien;
(a: Alien) CopyFromSimpleView- (source: View);
(a: Alien) Externalize- (VAR wr: Stores.Writer);
(a: Alien) Internalize- (VAR rd: Stores.Reader);
(a: Alien) Restore (f: Frame; l, t, r, b: INTEGER)
END;
[20:49:42] <divan> Вот примерчик
[20:50:03] <vlad2> А как часто LIMITED в твоей практике используется?
[20:51:43] <divan> EXTENSIBLE и LIMETED нужны для разработчиков каркаса, так и в документации написано.
Они для потребителя каркаса напрямую не нужны, НО часто использую косвенно :) не могу унаследовать то, что не положено!!!
[20:52:27] <divan> Это очень важные фичи для управления наследованием
[20:52:57] <vаlexey> LIMITED штука полезная, да. Для Opaque-типов.
[20:53:18] <vаlexey> в плюсах тоже есть :-)
[20:53:38] <divan> В этих целях записевый тип в Компонентном Паскале может иметь атрибуты, которые позволяют проектировщику интерфейса явно сформулировать несколько фундаментальных архитектурных решений. Важно, что компилятор может проверить соответствие этим решениям. Такими тщательно подобранными атрибутами являются EXTENSIBLE, ABSTRACT и LIMITED. Они позволяют различать четыре разные комбинации возможностей расширения и размещения [allocation]:
атрибут расширение размещение присваивание записей
отсутствует («FINAL») нет да да
EXTENSIBLE да да нет
ABSTRACT да нет нет
LIMITED нет* нет* нет
[20:53:46] <vlad2> Просто в С++ этот LIMITED как бы есть в виде аналога (через темплейты), но по факту не используется. И у меня никогда не было желание запретить кому-то наследоваться...
[20:54:14] <divan> возможно, Влад, вы не разработчик каркаса :)
[20:54:38] <vаlexey> vlad2: этот limited Это ж просто отсутствие публичного конструктора.
[20:56:38] <vаlexey> то есть засунул его в private секцию и всё.
[20:57:42] <divan> Вот нашел! кусочек «Заметим, что программисту чисто клиентских приложений никогда не потре­буется писать  эти атрибуты. То же самое касается проектировщиков расширений каркаса. Но проекти­ровщик каркаса может сэкономить усилия благодаря их использованию, поскольку эти атрибуты представляют собой важную часть документации, которую можно извлечь из исходного кода автоматически.»
[20:58:12] <divan> я максимум пока «проектировщиков расширений каркаса» поэтому я не использую эти фичи
[20:58:14] <vаlexey> чисто клиентский приложений не бывает. только Hello World
[20:58:48] <vаlexey> Делаешь любой биндинг где требуется opaque-тип и привет. LIMITED
[20:58:53] <divan> опыт показывает, что для простых расширений они не нужны
[20:59:49] <divan> Что-же вот тут и логика указана «Целью введения этих атрибутов было увеличить статическую выразительность интер­фей­сов, чтобы нужные архитектурные решения могли быть выписаны явно, причем так, чтобы компилятор мог проверить соответствие клиентской реализации интерфейсному кон­трак­ту.»
[21:00:06] <divan> "чтобы компилятор мог проверить соответствие клиентской реализации интерфейсному кон­трак­ту"
[21:00:13] <divan> вот это думаю было самым важным
[21:22:56] <vlad2> divan: я вообще сделаю все, чтобы не разрабатывать каркас. Потому что считаю любые каркасы злом :)
[21:24:52] <vаlexey> вебинар блин, как же слоупочно инглишмены рассказывают!
то что можно в одно предложение уложить, то у них целый рассказ
[21:24:55] <vаlexey> я тут уже весь иззевался :-)
[21:25:28] <vlad2> divan: это примерно как разнообразие методов доступа в популярных языках (public, ptotected, private) и их комбинации. В итогк protected используется крайне редко и как раз не для архитектурных изысков, а для каких-нибудь темплетных извращений :)
[21:25:57] <vlad2> Про что рассказывают?
[21:26:13] <vаlexey> Intel PerC SDK :-)
[21:26:20] <vlad2> А.
[21:26:55] <vаlexey> причем как для маленьких, типа говорят - не хардкодьте имя камеры в приложение, имя может меняться
[21:27:07] <vаlexey> не хардкодьте формат пикселей - он может меняться
[21:27:18] <vlad2> Хе-хе :)
[21:27:26] <vаlexey> не хардкодьте порядок и число стримов -  это тоже может меняться.
[21:27:45] <vаlexey> не забудьте обработать вариант когда камеру отключают, а то ваше приложение при этом может грохнуться
[21:27:49] <vаlexey> /me facepalm
[21:27:51] <vlad2> и вообще... лучше если ты вообще будешь молчать (с) Гэндальф ;)
[21:28:38] <vlad2> тобишь - не хардкодте :)
[21:28:57] <vаlexey> угу. и про это уже 30 минут говорят
[21:30:09] <vаlexey> вот теперь говорят - не хардкодьте спец. значения данных (там есть два спец. значения - насыщение пикселя (засвеченные пиксели) и недосвет - те пиксели где неясно что находится. вот магические эти константы могут меняться, так что типа вначале получите их для конкретной камеры, а потом пользуйте)
[21:31:21] <vаlexey> блин. ну если в API есть функция GetSaturationPixelValue, то по моему очевидно, что надо это пользовать. Не? ;-)
[21:32:21] <vаlexey> о, про обработку ошибок заговорили - если просите у фреймворка дать ссылку на инстанс модуля, то ПРОВЕРЬТЕ, что оно таки реально вернуло ссылку и что модуль вообще существует.
[21:33:01] <vlad2> программерский ликбез по мотивам  Intel PerC SD :)
[21:33:33] <vаlexey> да, блин. уныло.
[21:33:51] <vаlexey> каждый вебинар такой практически. ну иногда разбавляют написанием hello world'a :-)
[21:35:11] <vаlexey> самое смешное, что вебинар ведет один из архитекторов PerC SDK
[21:35:54] <vаlexey> bo-oring!
[21:39:59] <vаlexey> теперь говорят что надо освобождать ресурсы сразу, как только они перестали быть нужны, а не когда-нибудь потом :-)
[21:40:12] <vаlexey> ну, например такой ресурс как камера. чтобы другие могли пользоваться сразу
[21:41:25] <vаlexey> во, а теперь таки ВНЕЗАПНУЮ вещь говорят - типо помните что ваше приложение не единственное на компе, и если оно у вас свернуто, ну не грузите вы проц!
[21:42:14] <vаlexey> а то все греется, тормозит и батарейка садится :-)
[21:48:38] <vаlexey> кстати, в Lola были дженерики :-)
[21:49:45] <vаlexey> архитектор вещающий видать не совсем натив спикер.
[21:50:58] <vlad2> Хорошо понимаешь? :)
[21:51:15] <vаlexey> ну, некоторые звуки сбивают периодически
[21:51:26] <vlad2> В принципе нэйтивы тоже разные бывают - некоторые очень даже хорошо понимаются.
[21:51:59] <vаlexey> тут какие-то индусские призвуки мне кажутся
[21:52:43] <vаlexey> то есть видно что чел давно в США, но акцент есть.
[22:06:38] <geniepro> vаlexey> то есть от Лолы он абсолютно сознательно сейчас отказался.
Лола также не пригодна для промышленного использования, как и Оберон же )))
[22:08:22] <geniepro> vlad2> В смысле вот ты смотришь на объявление типа и чтобы узнать есть ли у него методы смотришь там дальше в раздел процедур?
о!!! так эти extension-методы в сишарп рипшли из компонентного паскаля??? шок! сенсация! интриги! скандалы!!! ))
[22:10:02] <vlad2> Не. Они просто туда приделаны с минимальными переделками компилятора.
[22:10:32] <vlad2> Метода - это почти процедура, но можно указать тип, к торому она привязана.
[22:10:38] <vlad2> Типа костыль.
[22:15:12] <geniepro> кстати, вопрос про с++. сёдня в сибилдере 6 наткнулся, что в конструкторе записи нельзя вызывать другой вариант этого конструктора (ну, например из конструктора без параметров конструктор с параметрами) -- в результате структура мусором забивается...
это вообще в с++ так или чисто сибилдерный баг?
[22:16:18] <geniepro> vlad2: а правда что америкосы по английски говорят так, будто у них рот набит дерьмом? )))
[22:17:12] <vlad2> Это вообще так в С++. Чтоб не было мусора - надо правильно готовить.
[22:17:47] <vlad2> по поводу английского - не мне судить (британцы так говорят или кто?)
[22:18:30] <geniepro> россияне )) что мол ненативного чела легче понять, когда он на инглише шпрехает
[22:19:05] <vlad2> geniepro: если у тебя в контсуркторе много кода и хочется иметь два конструктора - то весь код выносится в базовый класс (с одним конструктором) и от него наследуется твой класс (с двумя конструкторами).
[22:19:43] <vlad2> А. Ну тогда это чисто русское убеждение "я умнее их всех".
[22:20:11] <geniepro> да нет, при чём тут "умнее всех"?
[22:21:35] <geniepro> при чём не секрет же, что у американцев сильно отличается произношение например. как один британец писал, ему в штатах говорили -- "спик инглишь, мазафака!!!"
[22:21:41] <vlad2> Да притом. Нормально научится говортиь/понимать английский сложно, поэтому надо придумать отмазку и при этом еще выставить в невыгодном свете этот самый английский и заодно америкосов.
[22:23:02] <geniepro> vlad2: а конструкторы с дефолтными параметрами вообще как, кошерно делать? или не стоит?
[22:23:10] <vlad2> У них в зависимости от штата может очень сильно менятся язык.
[22:23:40] <vlad2> Я уже не говрю про нигерское наречие, которое я даже в голивудских фильмах ни слова не понимаю.ю
[22:24:01] <geniepro> "хей ю нигга!!!" )))
[22:24:23] <geniepro> бедные негры ))
[22:24:25] <vlad2> Конструкторы с дефолтными параметрами кошерно, но обычно их делают explicit.
[22:24:52] <geniepro> сначала их в рабство обратили, а потом не дают нормальными гражданами стать, бандитами быть подстрекают )
[22:25:20] <geniepro> expicit -- явные параметры что ли?
[22:25:32] <vlad2> явный вызов конструктора
[22:26:23] <geniepro> да, в сибилдере неявный вызов конструктора походу не вызывается вообще -- мусор в структуре
[22:27:17] <vlad2> Негры сильно разные бывают. У меня близких знакомых нет, поэтому судить приходится по праздно шатающимся гопнического вида группкам. Но говорят есть очень приличные.
[22:27:26] <geniepro> а чо куда валексей чухнул? )
[22:27:52] <vlad2> "неявный вызов конструктора походу не вызывается вообще"???
[22:27:55] <vlad2> гонишь ;)
[22:28:05] <vlad2> код в студию
[22:28:16] <geniepro> я как-то  видел негров -- аж три раза наверное. пару раз в метро -- фиолетовые как балкажаны. даже не знаю откуда такие взялись ))
[22:29:00] <geniepro> vlad2> "неявный вызов конструктора походу не вызывается вообще"???
да у меня баги были, смотрю -- в структуре после создания мусор, сделал явновый вызов конструктора -- окей стало
[22:29:25] <vlad2> Так не бывает.
[22:29:36] <geniepro> ну хз, может баг сибилдера
[22:29:47] <vlad2> А.
[22:29:56] <vlad2> Так может быть если у структуры вообще нет конструктора.
[22:30:33] <vlad2> Тогда "T x;" и "T x = T();" ведут себя по-разному.
[22:30:35] <geniepro> негритянка хоть и фиолетовая была, но вроде ничо так, эх надо было зазнакомиться ))) но как-то не решился, да и она так испуганно смотрела на всех этих белых азиатов, пялящихся на неё )))
[22:31:09] <geniepro> vlad2> Тогда "T x;" и "T x = T();" ведут себя по-разному.
ну щас уже не помню, возможно да, не было конструктора, а как добавил, стало норм )
[22:36:27] <geniepro> смарю щас америкосовский сериал Stargate Universe, ничо так, хоть и америкосовский ))
[22:36:59] <geniepro> всё не могу досмотреть Эврику -- бесконечный сериал блин )))
[22:37:35] <geniepro> шериф Картер из Эврики -- насколько он типичный средний американец?
[22:46:21] <boris_ilov> vlad: Не знаешь в чем магический смысл https://github.com/ilovb/ProjectOberon2013/blob/master/ORPX.Mod#L169
[22:46:30] <boris_ilov> ORD(p0.rdo) = ORD(p1.rdo)
[22:47:23] <boris_ilov> где rdo*: BOOLEAN
[22:47:28] <boris_ilov> ? O_O
[22:50:58] <boris_ilov> вообще не понимаю нафик ORD на BOOLEAN нужен
[23:23:10] <geniepro> ваще ORD(FALSE)=0, ORD(TRUE)=1
но ORD(p0.rdo) = ORD(p1.rdo) -- это явно индусский код, бессмысленный и беспощадный. неттам никакой магии, просто глупость )))
[23:26:52] <boris_ilov> Тык да
[23:27:02] <boris_ilov> ORD тут нафик не нужен
[23:27:40] <boris_ilov> просто p0.rdo = p1.rdo надо было