[04:39:43] <coopht> Народ, а подскажите если на блоке питания написано output 19 V, 4.74 A а на ноуте 19 V, 3.16 A можно такой блок питания использовать?
[04:40:05] <coopht> На ноутбуе input 19 V, 3.16 A
[09:50:44] <nordwind> опасно
[09:55:41] <nordwind> по опыту заряжания телефонов разница в 0.1 ампер в большую сторону приводит к тому что телефон не заряжается и при этом странно ведет себя еще. Именно когда ток выше. ниже заряжает но дольше обычного.
[11:19:39] <yeo> я думаю, что можно. блок питания по любому должен выдавать больше, чем ноут кушает, иначе он сгорит
[12:03:42] <vgodunko> Блок/комп от Dell?
[12:03:47] <vgodunko> Тогда - можно.
[12:04:01] <vgodunko> они обсудят кто что может и кому что нужно
[12:04:14] <vgodunko> если не договорятся - ноут радостно об этом сообщит
[12:04:22] <vgodunko> надписью на экране
[12:37:13] <nordwind> телефоны тоже сообщают по большей части
[16:53:57] <yeo> как построить windows service на Аде? В демках AWS есть пример, но там используется with Service.Server; которого я не найду нигде
[18:53:23] <valexey> yeo: вмержил, сейчас прогоню тесты.
[19:16:53] <valexey> yeo: 4Гб файл отработал нормально
[19:16:57] <valexey> а в чем проблема была?
[20:30:29] <yeo> там была оптимизация, если несколько одинаковых значений идут подряд в одном отсортированном куске, записывать их все, без захода на следующую итерацию поиска
[20:31:10] <yeo> я ошибся в ситуации, когда это случается в конце файла
[20:31:10] <valexey> ок. а ошибка в чем была?
[20:31:17] <valexey> ага, ясно
[20:31:26] <yeo> там был выход из цикла exit when ...
[20:31:58] <yeo> он наверное усложнил понимание всех уловий
[20:33:38] <valexey> вот поэтому, в обероне нет выхода из цикла!
[20:36:10] <yeo> да кода 10 строк, казалось, что там ошибится негде :)
[20:36:43] <valexey> Оберон надежней Ады!1111разразраз
[20:36:45] <valexey> :-)
[20:37:19] <yeo> как тут банить? ;)
[20:37:47] <valexey> нискажу!
[20:38:28] <valexey> а кроме шуток, среди упоротых оберонщиков, связанных с образованием, ходит и такое мнение, аппелируют к происшествию с Ариан-5
[20:40:21] <valexey> Например тут: http://www.inr.ac.ru/~info21/pdf/digital_times_wirth.pdf
[20:43:47] <yeo> если прошивку самсунга прошить в iPhone, будет кирпич, на чем бы прошивку не написать
[20:44:32] <valexey> да это понятно. там маразмов в статье полно
[20:44:48] <valexey> например напрямую связывают объем екзешника проги с объемом спеки на язык :-)
[20:45:14] <valexey> точнее даже массу компа где крутится прога с объемом спеки на язык :-D
[22:54:40] <vgodunko> Мне нравится обсирание проблемы Ариан-5
[22:55:02] <vgodunko> Будь оно написано на C - она бы не самоуничтожилась.
[22:55:08] <vgodunko> С этим я согласен.
[22:55:38] <vgodunko> Но куда бы она тогда прилетела?
[22:55:57] <vgodunko> Я не уверен, что настолько хочу это знать.
[22:56:10] <valexey> а была бы писано на Обероне, все было бы нормуль!
[22:56:23] <vgodunko> :) :) :)
[22:56:27] <valexey> Кстати, Ада VS С - такой вопрос никто не рассматривает в статье :-)
[22:56:27] <vgodunko> Извольте поулыбаться.
[22:56:43] <valexey> Рассматривают вопрос Ada VS нормальный язык программирования от САМОГО Вирта!
[22:56:55] <valexey> Он же Аду раскритиковал в своё время :-)
[22:57:15] <vgodunko> Ошибка была допущена не в программе.
[22:57:25] <valexey> да знаю я, знаю.
[22:57:28] <vgodunko> А в спецификациях более верхнего уровня.
[22:57:46] <valexey> вот народ, преподающий программирование и пропагандирующий обероны - не знает
[22:57:53] <vgodunko> И блин хоть на чём напиши код - лучше бы ракета самоуничтожилась.
[22:58:28] <vgodunko> Мне не хочется видеть её мягкую посадку на крышу моего дома.
[22:58:44] <vgodunko> И не только моего - на любую крышу любого дома на планете.
[22:58:57] <vgodunko> :)
[22:58:57] <valexey> ну, кстати, чтобы такого не было, я слышал, в некоторых конторах дублируют системы не точно такими же модулями, а другими. т.е. вот этот модуль у нас программирован на Аде и работает на ARM, а дублирующий будет программирован на Си и работать на MIPS32
[22:58:59] <valexey> например
[22:59:15] <vgodunko> есть такое
[22:59:38] <vgodunko> Но практически такое я встречал только у атомщиков, и то с сильной натяжкой.
[22:59:51] <valexey> vgodunko: этта.. в Аде случилось ведь исключение которое никто не перехватывал? Вот! А в Обероне исключений нет! Значит что? Значит там всё было бы не так! Исключения это злооо!
[22:59:59] <valexey> Любой оберонопоклонник тебе это скажет!
[23:00:11] <vgodunko> В смысле более в теоретичесуих разработках нежели в прошедших сертификацию и поставленных на боевое дежурство изделиях.
[23:00:16] <valexey> Ну а из более хипстерских - любой поклонник Go тебе это скажет!
[23:00:37] <vgodunko> А кто бы спорил!
[23:00:50] <valexey> кстати, статья взята отсюда: http://www.inr.ac.ru/~info21/
[23:01:14] <vgodunko> Только Sigsegv/Sigill и другие никто не отменял
[23:01:36] <vgodunko> Я лично не люблю исключения в Ada.
[23:01:44] <valexey> А sigselv/sigkill - это всё из за того, что операционка писана на богомерзком Си!
[23:01:50] <valexey> говноюникс же!
[23:02:00] <valexey> надо чтобы операционка была Оберон и язык был Оберон!
[23:02:15] <valexey> И комп был виртовский. В виртовском компе прекрасно всё! Там например нет прерываний :-)
[23:02:33] <vgodunko> Не являюсь их противником, но в сложном коде стараюсь избежать активного использования в тех частях, что предполагают возможность некорректной обработки, например из-за некорректного потока входных данных.
[23:02:48] <vgodunko> Ага, и CPU Оберон
[23:03:04] <valexey> ну да. CPU Виртом разработанный
[23:03:09] <valexey> он его зовет RISC5
[23:03:11] <valexey> или как-то так
[23:03:14] <vgodunko> Без виртуальной памяти, косвенной адресации, проверки четности данных и т.д.
[23:03:15] <valexey> есть исходники в верилоге
[23:03:32] <valexey> MMU там действительно нет.
[23:03:42] <valexey> да собственно он у меня есть, комп этот. на FPGA
[23:04:06] <valexey> купил в свое время FPGA'шку поиграться, ну и залил туда этот комп :-)
[23:04:09] <vgodunko> Как и CPU в железе, свободной продаже и активном использовании
[23:05:12] <vgodunko> Всё же реалии они есть реалии.
[23:05:24] <valexey> излишнее усложнение!
[23:05:28] <vgodunko> Вирт умный человек, правильные вещи говорит.
[23:05:30] <valexey> сложность = уязвимость!
[23:06:40] <vgodunko> Вы правда считаете, что какой-нибудь LEON3 в составе спутника на геостационарной орбите представляет из себя какую-то сложность в сравнении со всем остальным? ;)
[23:06:45] <valexey> Угу. Дженерики не нужны, исключения не нужны, цикл FOR не нужен, массивы с размером не известным на этапе компиляции, тоже не нужны (даже если этот размер - константа)!
[23:07:08] <vgodunko> Да, всё это - зло!
[23:07:17] <vgodunko> Я ни капли не спорю.
[23:07:21] <valexey> Ада тоже не нужна :-)
[23:07:45] <vgodunko> Оно не даёт сферическим коням в вакууме бороздить межпланетные просторы!
[23:07:55] <vgodunko> Ада - не нужна!
[23:08:12] <vgodunko> Сложная, большая, много места код занимает.
[23:08:13] <valexey> Йе! Револьюшн!
[23:08:25] <valexey> Освобождение от оков!
[23:09:05] <vgodunko> Вот только оковы почему-то летают, плавают, ездиют, а свобода - по сей день парит
[23:09:46] <vgodunko> Это вечный спор. И спор в общем-то ни о чём.
[23:10:15] <valexey> на это есть ответ у истинного оберонщика - это всё делают корпорации ради сверхприбыли в сфере IT! с помощью избыточной сложности они устраняют конкурентов, а с помощью принципа ассиметрии информации впаривают свои кривущие решения потребителю!
[23:10:31] <vgodunko> Последний раз я убедился в силе Ada на собственной шкуре когда две недели кодил расчёты каркасов с помощью метода конечных элементов.
[23:11:00] <vgodunko> наструячив ~20 Kb кода без возможности запустить и проверить
[23:11:18] <valexey> а компилировать можно было?
[23:11:33] <vgodunko> Можно, но толку от этого было немного.
[23:11:53] <valexey> но, на самом деле, народ такие подвиги и на Си проворачивал и на том же Обероне в принципе. Причем иногда без возможности даже скомпилять.
[23:11:56] <vgodunko> И вот настал час X, когда код был запущен первый раз.
[23:12:10] <vgodunko> А теперь другой важный факт.
[23:12:12] <valexey> Ну, компилятор таки в продвинутом языке позволяет выловить ошибки.
[23:12:30] <vgodunko> За прошедший месяц я много раз пытался найти ошибки в этом коде.
[23:12:44] <vgodunko> Матерился на чём свет стоит.
[23:13:15] <vgodunko> И пока понял, что очень важно правильно сформулировать граничные условия... искал ошибки в реализации...
[23:13:34] <vgodunko> Нет ошибки конечно были. Знак одного компонента в матрице 12x12
[23:13:41] <valexey> хы
[23:13:43] <vgodunko> Ещё что-то
[23:13:55] <vgodunko> Можно сказать по мелочи
[23:14:01] <vgodunko> И В С Ё !!!
[23:14:26] <vgodunko> Я вспоминаю практику по численным методам у нас в университете
[23:14:57] <vgodunko> День кодинга и недели жизни в отладчике что бы понять где ты -1 не написал.
[23:15:42] <vgodunko> (я конечно слукавил, я писал на Ada и не это... вобщем без чернухи всё быстро сдал)
[23:15:52] <yeo> просто ты отладчик не любишь :(
[23:16:02] <valexey> полагаю тут еще дело в опыте
[23:16:17] <vgodunko> (но весь курс жил у меня с одним вопросом - да чего же эта зараза не работает)
[23:16:26] <valexey> когда инструмент не знаком, когда предметка не знакома, зарыться можно где угодно
[23:16:40] <vgodunko> Опыт дело наживное.
[23:16:57] <vgodunko> Я кого-то из ребят помнится подсадил.
[23:17:11] <valexey> а когда уже и инструмент знаешь и предметку и написал уже десятки тысяч строк кода, то на этом языке напишешь еще 22 кб без ошибок считай
[23:17:24] <vgodunko> Задачи решались дольше, чем мною, но намного быстрее чем у других.
[23:17:36] <valexey> люди склонны переоценивать значимость ЯП и недооценивать возможности адаптации нашего мозга
[23:17:40] <vgodunko> Ага, расскажите это мне.
[23:18:00] <vgodunko> Я тут пытаюсь реализовать разреженную матрицу со всяческими извращениями.
[23:18:01] <valexey> народ вон, вполне пишет программы даже на жабаскрипте, где слабая типизация + динамическая типизация.
[23:18:08] <valexey> большие програмные комплексы ваяют.
[23:18:10] <vgodunko> И пока - без результатно.
[23:18:25] <valexey> полагаю что и матрицы тоже уже умножают :-)
[23:18:39] <valexey> эмуляторы компов вот уже написаны на js. и ничего-ничего
[23:18:39] <vgodunko> Как только превратил Ada в C - только плакать остаётся :(
[23:19:01] <valexey> ну а кто-то плюется попытавшись писать на Аде после Си
[23:19:12] <valexey> или даже использовать С++ компилятор для Сишного кода
[23:19:14] <vgodunko> Все плюются.
[23:19:19] <valexey> Это ж приходится ТИПЫ приводить!
[23:19:21] <vgodunko> Это нормально.
[23:19:24] <valexey> явное приведение типов делать!
[23:19:27] <vgodunko> Да, именно!
[23:19:28] <valexey> ужас-кошмар!
[23:19:35] <valexey> КАК ТАК ЖИТЬ?!
[23:19:39] <valexey> чертов С++!
[23:19:47] <vgodunko> Типы нужно не приводить, их нужно использовать
[23:20:05] <vgodunko> А это весьма серьёзная ломка психологии.
[23:20:16] <vgodunko> (я же закореневший сишник в молодости был)
[23:20:28] <vgodunko> yeo: привет!
[23:20:33] <vgodunko> вливайся!
[23:20:40] <vgodunko> Колись что кодишь!
[23:21:28] <valexey> а еще больше народ плюется когда пытается писать на ocaml'e :-)
[23:21:43] <vgodunko> Не знаю не пробовал.
[23:21:44] <valexey> там ваще! нельзя даже написать 1.0 + 2!
[23:21:52] <valexey> и даже 1.0 + 2.0 нельзя написать!
[23:21:53] <vgodunko> Уже старый стал, устал от новинок жанра
[23:22:21] <valexey> ну, он как новинка.. первая версия в 1996 году
[23:22:44] <vgodunko> Примерно тогда меня посадили на Ada.
[23:22:47] <valexey> до того был Caml Light - 1985 год
[23:22:54] <vgodunko> До сих пор слезть не могу.
[23:23:20] <valexey> ну и просто ml (а в рассматриваемом аспекте они все идентичны) - 1973 год
[23:23:34] <valexey> короче, Ада - вот это новинка, а OCaml - это старье :-)
[23:24:30] <valexey> короче, на попытку 1.0 + 2.0 оно пишет:
# 1.0 + 2.0;;
Error: This expression has type float but an expression was expected of type int
[23:24:58] <valexey> писать надо 1.0 +. 2.0
[23:24:59] <valexey> :-)
[23:26:24] <vgodunko> Очень читабельно ;)
[23:26:34] <valexey> зато сразу видно где какие типы ;-)
[23:26:46] <vgodunko> на моём грязном мониторе можно такое накодить!
[23:26:55] <vgodunko> Хм..
[23:27:00] <vgodunko> asm-js!
[23:27:07] <valexey> webasm!
[23:27:08] <vgodunko> Там тоже типы все сразу видны
[23:27:14] <valexey> llvm IR!
[23:27:27] <valexey> там везде все видно
[23:27:28] <valexey> сразу
[23:28:42] <yeo> хех, я сегодняшний день убил в метаниях между 1) добавить в элементарный типы with Default_Value => 0, 2) расширить свой генератор по аттрибутным грамматикам возможностью задавать значения аттрибутов по умолчанию или 3) инициализировать аттрибуты явным образом. Тест сюит на основе ACATS все время отправлял меня в лес...
[23:29:11] <valexey> а про что прога?
[23:29:25] <yeo> про аду 2012 :(
[23:29:57] <valexey> компилятор кастомный пилишь? :-)
[23:30:12] <yeo> ДА!
[23:30:23] <valexey> o_O
[23:30:32] <valexey> жуть!
[23:30:52] <valexey> парсер генеришь якком/бизоном, али как?
[23:30:58] <yeo> да такая же жуть как и все остальное :(
[23:31:48] <yeo> я ж как упоротый, сделал свой ayacc, с поддержкой юникода
[23:32:11] <yeo> в смысле aflex
[23:32:27] <yeo> ну и ayacc сверху свой тоже
[23:33:02] <yeo> а еще сверху свой генератор вычислителей атрибутных грамматик
[23:33:26] <valexey> маньяк!
[23:33:46] <yeo> ну и при попытке написать атрибутную грамматику Ады 2012 меня и накрыло :D
[23:33:50] <valexey> а проект открытый? опенсурсь? ;-)
[23:34:24] <valexey> ну и вообще, какой бекенд планируется впилить?
[23:34:25] <yeo> http://forge.ada-ru.org/gela/ да, но доку писать мне лень
[23:35:06] <yeo> бакенд не планируется, я сдохну раньше, чем заработает семантический анализ :(
[23:35:14] <valexey> может, для начала, какое-нибудь подмножество ады?
[23:35:35] <yeo> я пробовал сделать конвертер в llvm но сдался
[23:35:52] <valexey> сделай в webasm! должно быть проще.
[23:35:59] <valexey> в том плане, что там же почти AST надо экспортить
[23:36:23] <valexey> преобразование AST'ов запилить проще, чем в байткод
[23:38:02] <yeo> вообще не представляю, как подступиться к бакенду, в адском AST один узел типа A(X) может означать тьму вариантов низкоуровневого кода в зависимости от свойств A
[23:38:58] <valexey> в зависимости от контекста?
[23:39:01] <valexey> пример можно?
[23:39:48] <yeo> например, массив, упакованный массив boolean, массив с Convention (Fortran)
[23:40:07] <valexey> ну это же просто разные типы
[23:40:15] <valexey> также как в плюсах std::vector
[23:40:41] <yeo> затем в каком контексте он используется, как выражение, как результат для присваивания, для out параметра процедуры, в if
[23:40:52] <valexey> после инстанцирования это все разные типы и std::vector<bool> породит ну сильно другой код (и в памяти лежит иначе) чем std::vector<int>
[23:41:47] <yeo> да, но как делать "инстанцирование"? это уже не часть семантического анализа
[23:42:20] <valexey> yeo: тут вообще, нужно различать дерево синтаксического разбора (ака parse tree) от AST
[23:42:21] <yeo> всякие tree expander-ы, и lower-инги
[23:42:39] <valexey> "This distinguishes abstract syntax trees from concrete syntax trees, traditionally designated parse trees, which are often[citation needed] built by a parser during the source code translation and compiling process. Once built, additional information is added to the AST by means of subsequent processing, e.g., contextual analysis."
[23:43:15] <yeo> parse tree я вообще не храню
[23:43:56] <yeo> мой AST это по сути ASIS вид сбоку
[23:44:25] <valexey> я ASIS не щупал (хотя представляю что такое), так что ничего тут посоветовать не смогу внятного
[23:46:07] <yeo> да, я смогу (когда нибудь, надеюсь) выдать типы к A и X в примере с A(X), но что дальше для меня загадка
[23:47:04] <valexey> (тут выходит на сцену оберонщик и начинает обидно шутить про Аду, её компилятор и сложности на ровном месте)
[23:47:30] <valexey> в то время как в обероне каждый второй оберонщик пишет свой оберон, с блек джеком и всем остальным...
[23:47:31] <valexey> :-)
[23:47:46] <valexey> (свой оберон, не совместимый со всеми другими реализациями)
[23:48:22] <valexey> в этом время Ада-поклонники не могут даже типы к узлам AST'а привязать!