[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 надо было