• Rocket Lab: титановый гном в космосе и мягкая посадка
    +1

    Да, это блять местный "английский". На самом деле это маорийский. Язык маори использует английский алфавит, но самая жопа это что новозеландские официальные/государственные и не только учреждения смешивают в одном тексте православный английский и вот эту поебень настолько густо и часто что порой нихера не понять, но так плохо бывает довольно редко. Мне пока чаще всего такое встречается в письмах из детсада где на маорийском обращаются к родителям и в целом терпимо и понятно, но бесит шо пипец. Из того что здесь написано я знаю только последнее слово — самоназвание НЗ на маорийском, что переводится на человеческий как — страна длинного облака.

  • Работа с файлами в C++ с использованием Boost
    +1

    А как на счёт обработки ошибок? Я как то год назад написал кастомный стрим на mmap, а потом на ревью был справедливо закидан помидорами(ссылками на майллисты и статьи) где куча людей обоснованно доносили, что как только у вас есть две и более библиотеки(в одном процессе) которые что то mmapят и подходят к этому ответственно с обработкой ошибок, то у вас не просто УБ, а отдельный котел в аду под названием глобальный обработчик сигналов, который впринципе "правильно" не приготовить. Я к тому что ммап можно использовать безопасно, но только когда есть только одна библиотека, а это почти наверняка не вариант для большого проекта с длинной историей и который использует сразу много больших библиотек. Например культю и буст и тогда готовьтесь к увлекательному дебагу. Ну и как обычно в таких статьях описан самый простой хэпи пас, но хотя бы самую простую ситуацию разберите — читаете из замапленного файла с усб диска, а пользователь, вопреки всем сообщениям ОС, сука такая взял и выдернул флеху и что будет при использовании этой либы? Вариант чуть посложнее — как добавить данные в конец файла? А что если свободного места вдруг не стало, ну например другой процесс записал что то на диск. Тут же все ленивое и преподносится типа как безусловно лучше чем не ленивое. В общем мне как написавшему свой полностью работоспособный стрим и юнит тесты и все такое, а потом выкинувшему все к хренам по причине невозможности правильной работы с ошибками очевидно что статья — не зачёт, даже 10% всей мякотки не раскрывает.

  • Всё о проекте «Спутниковый интернет Starlink». Часть 14. Межспутниковые каналы связи
    0

    А есть ли вероятность что некоторые страны могут заставить такой межспутниковый трафик идти через свой собственный спутник(и) или спутник маска но сертифицированный кем надо где и будет установлен сорм или это бессмысленно/не гарантирует контроль над трафиком? Так то межспутниковпя связь решает много насущных проблем и что то мне не верится что прагматизм не победит хотя бы в некоторых странах. Если уж ставить сервер для эффективной утилизации канала, то не такая уж и большая дополнительная работа добавить ещё и сорм. Даже если такая идея тупиковая думаю инженеры найдут другой способ при соответствующем стимуле.

  • Папа может в си, или Простая и аккуратная кодогенерация для SQLite
    +2

    Статья конечно куцая, но все равно спасибо. Мне на моей работе будет крайне полезна (если подойдёт) т.к. миграции у нас почти всегда с багами получаются из за минимализма скулайта и естественно очень прямых рук.

  • Проблема останова лжеца Гёделя и брадобрея Кантора
    0
    Я не очень продвинутый телепат, так что давайти я придумаю за вас с чем вы не согласны и отвечу.

    Наверное мой предыдущий ответ не лучшим спосособом доносит такую мысль:
    * Общепринято с помощью машины Тьюринга моделировать ЧИСТЫЕ функции — алогритмы с предоставленным входом, для например анализа алгоритмической сложности. Такое моедилирование и анализ не вызывают ни у кого никаких проблем. И я думаю вы наставиаете, что это и есть то единтсвенное на что способна модель машины Тьюринга.
    * В таких чистых функциях, любое зацикливание означает некорректность алогритма.
    * Реальные/полезные программы не чистые — имеют побочные эффекты (ввод/вывод), а в терминах машины тьюрига, любой побочный эффект моделируется зацикливанием и поэтому не отличим от некорретного алгоритма.
    * Реальные компьютеры — детерминированны (ГПСЧ — детерминирован), а любое истинно недетерминированное поведение невозможно БЕЗ ввода/вывода.
    * Чтобы избежать проблемы неразличения причины зацикливания (некорретность или ввод) и происходит разбиение реальной программы на подпрограммы двух типов.
    * Чистые, что означает они ничего не ожидают/нет в(ы)вода/побочных эффектов и поэтому их зацикливание == некорректность
    * Менеджер — исключительно ожидает ввод/вывод и поэтому его зацикливание не является признаком некорректности.

    Любой кто писал корректный сложный локфри код делал это же самое разбиение на участки и затем анализировал свой алгоритм на коретность с учетом гарантий модели памяти в его языке. Так что да, анализ (не очень больших, сложных, многопоточных) программ возможен чисто технически вот прям дюбом квалифициованным инженром. Да делать это для всей программы не представляется практически возможным без автоматизации. Какие нибудь агды или идрисы могут помочь. Схема такая — разбиваете вашу программу на части описанные выше, учитываете гарантии предоставляемые вашим железом и компилятором, а дальше полный перебор (с учетом ограничений вытекающих из гарантий) всех состояий вашей программы (возможного ввода/вывода) и доказательство или опровержение корректности (зацикливание) вашей программы. Т.е. техническая проблема как раз с той частью программы которая — менеджер, проверка всех возможных входных данных (с учетом ограничений) и является ресурсоемкой на практике, но не является принципиальной/теоретической проблемой.

    Ну и то что я все это время пытаюсь донести — зацикливание != некорретность в общем случае для реальных програм. И даже наоборот, я могу специально написать тест который будет проверять, что программа ДОЛЖНА зациклиться/ожидать ввод, т.к. это поведение является частью спецификации и следовательно корректным. И для моделирования такого поведние/тестирования мне нужен оракул который скажет, что программа зациклилась/ожидает ввод.

    Насколько мне известно уже идет реальная работа в этом направлении называется верификация программ, да сложно и не всегда возможно полное доказательство на практике из за ограниченности ресурсов, но в ТЕОРИИ/ФУНДАМЕТНАЛЬНО полностю разрешимая проблема, т.к. реальный компьютер НЕ способен выполнить ЛЮБУЮ программу. Думаю что для кого нибудь 8086 процессора (с учетом всех его ограничений на доступную память) уже возможно на практике верефицировать/доказать корректность ЛЮБОЙ программы которую можно на нем запустить только это не практично т.к веротяно затребует мощности самых передовых суперкомпьютеров для анализа, что бы выполнить его в разумное время.
  • Проблема останова лжеца Гёделя и брадобрея Кантора
    0
    Ядра — конкурентный доступ к единой памяти


    Вы вероятно забыли про факт того что ВСЕ дохулион ядер конкурентно пишущих по одному и ТОМУ же адресу будут сериализованны шинной памяти, многоканальность она про одновременный доступ по РАЗНЫМ адресам. Следовательно что моноядерник что дохулион ядерник это тоже самое — машина Тьюринга.

    DMA меняет состояние памяти в обход исполнителя

    Ну так об это и шла речь — это и есть ввод/вывод и моделируется он прекрасно = зацикливанием и переписыванием ленты.

    А по другому никак, иначе придётся моделировать человека, который собственно вводит.

    Да нет, не нужно никого моделировать. Что делает программа ожидающая ввод? Висит. Поэтому если мы моделируем ввод то программа ОБЯЗАННА повесить машину Тьюринга. Если мы ввод не хотим моделировать, то да можно записать данные на ленту заранее.

    Вам же mayorvp вверху почти правильно написал как это моделируется:
    * Программа разбивается на подпрограммы которые ничего не ожидают — привет фп чистые функции.
    * В модель вводится програма «менеджер» которая запускает подрограммы и ЗАЦИКЛИВАЕТСЯ на момент ввода вывода.

    Так что еще разок — вся инженерная/программисткая сложность современных компьютеров принципиально/фундаментально/теоретически ни как не отличается от машины Тьюринга и прекрасно ею моделируется. А модель из 2 пунктов вверху это вобщем то описание того как компилятор фп языка подходит к проблеме чистых не чистых функций и позволяет ФП программистам писать не упражнения в математику, а нормальные полезные программы.
  • Проблема останова лжеца Гёделя и брадобрея Кантора
    0

    Кеши, ядра, дма, и т.д. никак не влияет, это все просто оптимизации не дающие ничего принципиально отличного от машины Тьюринга, и следовательно никак не отображаются на модель.


    Моделирование программы которая ждёт ввода с записанным на ленту вводом это не моделирование, точнее это моделирование другой программы. И мы все такие программы не раз писали называются они тесты.


    Ещё раз — ожидание ввода это неостанов для машины Тьюринга и никак иначе. С выводом чуть сложнее т.к. лента у Тьюринга бесконечная то и блокировок не бывает, т.е. ожидание вывода моделируется наложением искусственного для Тьюринга ограничения на размер ленты(не насаму ленту, а на количество ячеек используемых программой через входной параметр) и тоже зацикливание.


    Ну и на последок, если бы машина Тьюринга не могла моделировать реальные программы, то это было бы просто не более чем занятное упражнение в математику не имеющее инженерную ценность. Но это далеко не так. Машина Тьюринга это модель не простейшего вычислителя (хотя я думаю имелось ввиду инженерная сложность а не теоретическая), а самого мощного того который может вычислить все что вообще возможно вычислить. А т.к. компьютер не более чем калькулятор и МЕНЕЕ способный чем машина Тьюринга, то утверждение что компьютер и ЛЮБАЯ программа не может быть представлены машиной Тьюринга это ложное утверждение.

  • Проблема останова лжеца Гёделя и брадобрея Кантора
    –1

    Я что здесь, не понял. Программа такая есть, а машиной Тьюринга она смоделированна быть не может? Я может быть не прав, но вроде подразумевается, что компьютер это машина Тьюринга да ещё и с конечной лентой разве нет? А если нет, то в чем практическая польза машины Тьюринга если она не применима к реальным программам? Если машина Тьюринга не может описать реальную программу, то и никакие выводы основанные на рассуждениях с машиной не применимы к реальным программам. Получается пчелы против меда, компьютер не может быть описан математически, какой то это абсурд или магия.


    Если мне не кажется, то состояние ожидание ввода вывода это и есть не останов/зацикливание машины Тьюринга. При этом факт ввода это изменение состояния ленты НЕ машиной Тьюринга — извне, но при этом это изменение может прервать бесконечный цикл и завершить программу. Т.е. по какой угодно логике, ваш оракул должен выдать программа не завершается (сама по себе с заданной лентой, что как бы подразумевается).

  • История двух стандартных библиотек Си
    +2
    and memmove() simply just checks whether the destination address is above the source address and decides to copy backwards if so


    Знаете ли я тоже имею некоторое представление о сложности этого «simply just checks», т.к. задавался конкретно этим вопросом. Я не сишник и сишный стандарт как отче наш на знаю, но вот в мире с++ это нифига не простая проверка и думаю си здесь не отличается от с++. Если интересно за подробностями сюда

    Так что, то что пишет Линус о том, что это чушь это он мегко говоря не прав в общем случае. Конечно, на тех платформах с которыми он привык работать наверное это действительно просто, но не на всех.

    Т.е. то что он предлагал — вернуть назад простую наивную реализацию, которая также еще и оверлапинг проверяла, нормальное предложение, но оно по очевидным для меня причинам (не работает в общем случае) было отвергнуто. То что он назвал граничными случаями наверное(код не смотрел) и есть учет разных экзотических платформ — реализация общего случая корректным образом.

    Еще раз перевожу с Линксвого языка на человеческий — я вертел вашу корретность в общем случае, ваша реализция поламала код который нормально работал для пользователей моего продукта, так шо давай те вашу корректность засуним куда подальше и поможем нашим пользователям. Нормальный, здравый подход защищать свой продукт и продавливать решения которые позволяют избежать работы. Я бы тоже такую дичь говорил если бы был заинтересованной (в таком решении) стороной.

    Нет, спасибо, не надо, пусть лучше будет впервую очередь коректно и во второую максимально быстро, а за дополнительными плюшками идите в memmov.
  • История двух стандартных библиотек Си
    –1
    Спасибо. Я не особо знаток Линуса как человека, но похоже на какой-то плач обиженной девчонки. Кому надо тот пусть и фиксит (причем довольно просто) свой код следуя как раз неплохому предложению Линуса — в своем коде пусть и заводят макросню алиасищаю memcpy на memmov, а мне пожалуйста оставьте код который работает с УБ и по стандарту (да тому который он применяет по «назначению»), но хотя бы потенциально быстрее.
  • История двух стандартных библиотек Си
    +1

    А для тех кто на бронетанке можно пожалуйста поподробнее про эту историю?

  • Эссе на тему единого универсального общепланетарного времени
    –1

    Мне кажется, решение недостаточно кардинальное. Смотрите сейчас календарь реализует 2 естественных цикла (годовой и суточный) и ещё несколько искусственных (месяцы, недели, часы, минуты) в виде даты (годовой цикл) и времени (суточный цикл). И в таком простом виде календарь работал очень долго, это потом выяснилось, что все немного сложнее и люди привели много разных календарей к единому отсчёту пофиксили саму систему подсчёта добавив высокомные дни и секунды — проблемы годичного цикла, и наконец решили последнюю проблему часовые зоны — суточный цикл. По факту базовая идея календаря оказалось очень удачной т.к. пережила тысячелетия и многократно допиливалась не меняя своей сути. Отказ от часовых поясов, но с сохранением остального наследия — это очевидный регресс. Вы предлагаете устранить уровень абстракции, который надежно, удобно и эффективно решает много задач, только лишь во благо упрощения реализации частной задачи — цифрового представления времени. Это как предложить забанить днс адреса глубже ну например 2го уровня.


    Решение проблемы календаря в цифровом виде уже давно существует — timestamp. Никакой неоднозначности, никаких циклов. Проблема в том, что люди не умеют, не хотят и обоснованно недоумевают от идеи использовать штампы в повседневной жизни. Штамп это как в6 айпишник, отличное решение для машин и совершенно непригодное для людей. Поэтому проблема которую вы пытаетесь решить технически не является технической, система временных зон отличная идея и технически она решена. Все сложности цифрового представления из за ебанутых политиков, и решение этой проблемы лежит в области онигиляции корня проблемы, а не костылевания техническими средствами.


    Ещё раз надо либо прошивку у всех человеков поменять чтобы мы напрямую в штампы умели или выпилить несколько особо одаренных которые портят жизнь всем остальным — это надёжные и логичные решения, а то что вы предлагаете какая то хуйня.

  • Black [O]lives Matter: раса, криминал и огонь на поражение в США. Часть 2
    0

    Люди сошли с ума и пытаются решать не ТЕ проблемы. Вместо того чтобы спорить кто кого чаще убивает, надо решать проблему оружия — и я не про запрет, а про эффективное НЕ смертельное оружие. Цель должна быть не убить преступника, а просто обезвредить, но это сложно. Проще убить, а потом всем миром ныть шо негров оказывается убивают чаще.Я за владение эффективным не смертельным оружием и против владения смертельным.

  • С++ Concept-Based Polymorphism в продуктовом коде: PassManager в LLVM
    0

    А вот самое интересное — адаптер FuncPassManager в ModulePassManager не показан. Я так предполагаю, что там модуль представляется как коллекция функций и для каждой вызывается все что добавленно в функциональный пасс менеджер? Честно Шон очень клёвый, но он не единственный кто до этой идеи дошёл. Впервые я это увидел (не сам додумался) почти 20 лет назад когда из всего с++ мира только про страуса знал и то по книгам. уверен что и раньше это тоже было известно. С тех пор разве что мув добавился для производительности, но и без него на указателях по сути также все и работало.

  • Vivaldi 3.1 для Android — Большое в малом
    0

    Я тестирую ваш мобильный браузер с самой первой беты. И с самого начала есть проблема которая так никуда и не ушла. Вивальди на Андроиде УЖАСНО тормозит. Конкретно скрол любой страницы дергается. Уже все чего мне не хватало есть темный режим и реклама резка, но вот это дёрганье никак не может победить лису с тем же функционалом. Пожалуйста пофиксите дёрганье при скроле это блокер. Телефон 8 гигов памяти дракон 855 т.е. точно дело не в железе лиса просто летает.

  • Искусственный интеллект и кризис теорий сознания
    0

    Вы не поверите, с вероятностью примерно 1/7 таки да сможет.

  • Парсите, а не валидируйте
    0

    Да вобщем то ничего не мешает. Только без колег значит в одиночку значит какой-то мало кому нужный опен соурс в ваше свободное время. На работах за последние 10 лет не было ни разу случая что нужно что то писать с нуля. Это всегда уже существующий и как то работающий код который нужно расширить/пофиксить. Мест работ и стран и профилей компаний много разных но это ни на что не влияет. Ситуация где у вас на работе нет/мало колег и нужно писать новый код == вы в самом начале стартапа или совершенно новый проект, по какой то неведомой мне причине это значит что вы и 1,5 других колег джуниоры и вам все это ещё неизвестно или нет времени на эксперименты. Может быть потому что стартапы не могут предложить денег/интерес для более опытных девелоперов, а свой стартап опытные девелоперы почему то не спешат начинать. Вобщем такое возможно, но мне не довелось поучаствовать.

  • Парсите, а не валидируйте
    0

    Все это очень хорошо в теории. Я так попытался писать на плюсах в реальном проекте, только настоящая проблема этого подхода не в том что система типов слаба (а она на самом деле слаба) а в коллегах, которые с полным недоумением спрашивают, а нахрена это все? И у них есть непрошибаемый козырь писать так объективно сложнее, а читать неподготовленному мозгу такое вообще противопоказанно. С легаси несовместимо категорически, т.к. требует неимоверных усилий по рефакторингу и как обычно в условиях отсутствия тестов и времени под давлением типа давай результат вчера и погуще. Так что в реальном мире мне пришлось согласиться с мертворожденностью этого подхода. Пока мне приходится героически преодолевать ограничения системы типов и костность мозгов это никогда не выйдет дальше вот таких статей. Мозги нужно учить лучшему в вузе, а этого там не рассказывают. Человек валидировал десятки лет и по его словам успешно ( с точки зрения формальных критериев: закрытые таски, вовремя сделанные релизы), это значит вы никогда не сможете убедить его работать больше чем прежде для достижения того же результата. Обещанию меньшего количества багов НИКТО не верит, а увидеть логику почему это так не может в силу скудоумия/костности. Пробовать отказываются не понимая зачем им это надо. Компилятор тоже вам вставит палки в колеса везде где только возможно, т.к. уже давно в тренде требовать от программиста выражать свои намерения максимально явно, а это в свою очередь вызывает необходимость писать много бойлерплэйт кода в парадигме парсинга. Так что я вам категорически не советую даже пробовать такое в реальных проектах на плюсах, идею не оценят, и сделают все от них возможное чтобы вы отказались от этой идеи и по скорее.

  • ЯПФ, конвейер, автоматные вычисления и опять… корутины
    0
    Так что в данном случае нужно сопровождать, с одной стороны, конфигурацию и, с другой стороны, код автомата. По отдельности — это много проще и, главное, надежнее.


    Переводим на понятный язык — код реализации автомата настолько абстрактен насколько можно (ну что бы быть универсальным), а сам автомат (конфигурация) это какой то (вероятно) текстовый файл.

    Разжевываю дальше — если вы написали конфигурацию и в ней так уж случилось затесалась ошибка, то найти строчку конфигурации дебажа абстрактную реализацию исполняющую вашу конфигурации будет не так как же как дебажить «обычный» код. Сложнее/проще/другое_прилагательное вы узнаете потом.

    Когда то давно, я реализовал абстрактную машину тьюринга для учебных целей. Там тоже можно было задать любой алфавит, все переходы и таким образом реализовать все варианты заданий вместо конкретно моего. И она работала, и я даже заработал на продаже решения чужого задания. Только вот человек который купил у меня мой автомат и конфигурацию для своего задания получил 3 т.к. не осилил объяснить что и как работает. И это не его вина, код был универсальным.

    По сути ваша конфигурация это такой байт код для бедных. Нормальный байт кода отличается от вашего тем что для него есть инструменты — компилятор который проверит валидность, отладчик, который поможет найти проблему, оптимизатор который может улучшить производительность.

    Ваша конфигурация ничем не проверяется, отладка сильно другая чем отладка обычного кода, оптимизация отсутствует как класс. А и еще забыл, хорошо если конфигурация в текстовом виде хоть синтакс-раскрашивание/гит/дифф тулы можно использовать, а если она в бинарном виде хранится то и тут засада.

    По отдельности — это много проще и, главное, надежнее.
    Оценочное суждение полностью расходящееся с моим опытом «типичного кодера».

    Мне незачем отменять «дерево». Его попросту нет. Обработка же ошибок — это забота отдельного компонента, т.е. автомата. В нашем случае она простейшая — не пропустить ноль в случае операции деления.

    Не пропустить ноль это не обработка ошибок — это механизм предотвращения ошибок — валидация. И тут несколько вопросов:
    * Что если все таки ошибка (не обязательно деление на 0) случилась
    * Что является результатом вычисления 1 / 0
    * Как узнать какая часть конфигурации имеет ошибку

    Выше вам справедливо указали, что на корутинах в случае ошибки не происходит вычисления — нет никакого результат, все вычислительное дерево отменяется с помощью механизма исключений. И это намного проще распознать/исправить чем невалидный, но похожий на правильный результат.

    Такой проблемы просто нет. Но можно «прыгать» не между потоками, а между автоматными пространствами с разным дискретным временем. Это — без проблем. Без всякого кода и даже «на лету».

    Переводим на понятный язык — динамическое управление загрузкой вычислительных устройств (балансировка) отсутствует, как вы ручками напишите так и будет и в крайних случаях
    получите неудовлетворительную латентность вычислений в купе с пониженной производительностью.

    Самое главное это вычислительная модель — т.е. может только в функциональный код без эффектов. Хотите добавить блок записи в базу данных извините низя т.к. модель не гарантирует ни последовательности вызова ни одиночности вызова, и уж тем более знать ничего не хочет про ошибки записи в базу. А вообще то даже чтение из базы вроде как чистая операция тоже мимо, обработки ошибок то нет. Т.е. ответ автора очевиден, это и не нужно, а если вдруг почему то все таки нужно, то тогда пишите на вашем языке и используйте эти проклятые корутины для этого. Ну т.е. делайте двойную работу сначало отделяетй все чистые вычисления от эффектов пишите N автоматых конфигурацию для кусков чистых вычислений и разбавляйте это все старым добрым асинхронным кодом на ЯП оплачивая накладные расходы за переход из одного мира в другой в рантайме.

    Само собой разумеющееся вопросы производительности/латентности поднимать даже не целесообразно, она ж (производительность) не главное.

    И еще меня вот автор записал в касту «типичных кодеров». Не знаю что он хотел этим сказать — как будто это что то плохое, но да я типичный кодер и все выше перечисленное для меня имеет значение. Наверное перед тем как пользоваться этой вычислительной моделью нужно попросить автора распределение по кастам и если вдруг кому то как мне выпадет каста «типичных кодеров» то уж извините проходите мимо это не для вас.
  • ЯПФ, конвейер, автоматные вычисления и опять… корутины
    0
    Я конечно извеняюсь, но картинки как картинки ничего особенного, а текст так вообще вода водой. Вместо тысячи слов и 5 картинок можно пример на с++? Я так понял на вариант с потоками/корутинами можно не надеяться, да и ладно ЯПФ/КА было бы уже достаточно. Вы пытаетесь «продать» идею не мейнстримной модели параллельных вычислений и почему то сравниваете ее с корутинами/потоками хотя сами сказали что это всего лишь средства. Ну так и сравнивайте модели с моделями, а средства со средствами. Вот средств поддержки ЯПФ в с++ я в вашей статье не вижу. В свою очередь корутины это средства поддержки не только параллельных вычислений, но и асинхрнонного (основанного на событиях) программирования. То что ЯПФ/КА математически эквивалентно «обычной» модели и так очевидно, иначе мы бы имели разные типы вычислительных устройств, а вот оценку накладных расходов времени исполнения и времени программиста используя ЯПФ модель я не вижу. Т.е. вы «продаете» кота в мешке.
  • Обработка ошибок в Go 2
    0
    То что в я зыке больше одного (двух, трех, ваше любимое число) способов обработки ошибок не являеся реальной проблемой. По факту количество сопособов обрабатывать ошибки в коде на любом изветстном мне языке немного меньше чем количество разработчиков на нем пишущих. Сегодняшняя проблема это как помочь программисту не забыть проверить и обработать ошибку. Это два разных действия. Во многих новых языках уже появилась помощь с первым этапом не забыть проверить, что ошибка произошла. Новый механизм пытается предложить способ помочь со второю бедой — облегчить обработку ошибок.

    Проблема унификации (единого стиля) проверки/обработки ошибки это проблема светлого будующего (когда уже никто и никогда не забывает проверять и обрабатывать ошибки) которое по моим скромным предположениям наступит чуть ранее чем никогда.

    Но вы также поднимаете и реальные проблемы — совместимость со старым кодом. Думаю хорошим рабочим решением будет ворнинги компилятора детектирующие описанные вами кейсы так, что го еще рано закапывать, хотя персонально я разделяю ваше оценочное суждение по поводу качества го в целом как языка.
  • Обработка ошибок в Go 2
    +1
    Мне инетерсна тема обработки ошибок и поэтому я написал этот коментарий здесь, но у меня нет ни одного стимула помогать развитию го и поэтому я не собираюсь ничего добавлять в указанное вики. Нужно понимать что просто заметка в вики скорее всего ничего не способна изменить. Что бы реально на что то повлиять человек должен быть готов долго и нудно отстаивать превосходство своих идей над альтернативами, а это очень тяжелый труд.
  • Обработка ошибок в Go 2
    0
    Нет, не смущает. У дефер и хендл одинаковые сигнатуры — нет сигнатуры. Сигнатура есть тогда когда вы через возможности языка можете ее изменить, если вы не можете ее изменить значит сигнатуры нет (и не важно как оно реализованно под капотом). Семантика отличается несущественными деталями. Дефер — выполнить что то на выходе из скоупа. Хендл — выполнить что то на выходе из скоупа и наличии ошибки. Как можете видеть хендл это частный случай дефер.

    В с++/ди для проброса ошибки внутрь дефер/хендл используются техника раскрутки стека при эксепшене в го такого механизма (пока) нет. Вместо этого я полагаю (спецификацию не читал могу ошибаться) в го идиома возврата кода ошибки как последнего значения в тупле скорее всего поддерживается на уровне компилятора путем размещения значения ошибки в регистре ЦПУ (как очень горячих данных). Следовательно нет вообще никаких проблем передать это значение внутрь хендл (оно уже по сути там в определенном регистре), а остальные данные при необходимости могут быть переданы через стэк. Опять же не знаю точно, но как я понял в го нет деструкторов и этот факт значительно облегчает реализацию этой новой концепции обработки ошибок. По сути она тривиальна. Весь код из дефер/хендл пишится в конце скоупа с разными метками входа в соответсвии с порядком объявления. Далее если основной код завершился без ошибок то регистр с ошибкой содержит 0 и выполняется только код соответсвующий дефер секциям. Весь код хендл условный т.е. если регистр с ошибкой не 0 то выполняем код из хендл секции иначе не выполняем. Также выражение check XXX разворачивается во что то наподобие

    result, err = XXX()
    if (err != nill)
       goto end_of_scope_N
    

    где end_of_scope_N метка соответсвующая одному из входу в зависимости от порядка объявления дефер/хендл.

    По мне так все логично эфективно и удобно мне бы такое понравилось на с++, но это врядли случится в обозримом будующем.
  • Обработка ошибок в Go 2
    +2
    Я пишу на с++, на го не пишу, но периодически почитываю статьи про другие языки, особенно про такую важную тему как обрабтока ошибок. Мне это новая обработка ошибок на го очень сильно напоминает с++ on_scope_exit концепцию/семейство функций. Ваш хендл это on_exception ваш дефер это on_scope_exit. Осталось добавить on_success аналог дефер который вызывается только если не было ошибок и относиться к проверяемым ошибкам как к эксепциям т.е. если функция вернула ошибку и она была вызвана с чеком то вызывать все подряд (дефер/хэндл) в порядке обратном объявлению. Дефер и хендл суть одно и тоже только дефер более общий случай, вызывается всегда неважно есть ошибка или нет. Нет смысла городить отдельные (от дефер) правила порядка вызовов для хендл.

    Кому интересны подробности из первоисточника и кто не знаком с с++ и/или концепций on_scope_exit гуглите по Андрей Александреску с++ декларативное программирование. Я смотрел/читал все на английском поэтому не уверен, что мой русский перевод нагуглиться. Вот как раз местный пост кому лень гуглить.
  • Реализация оператора in в С++
    0
    Оператор годный, только есть одна проблема (как и с примерами в секции PS). Этот опрератор очень удобно читать и писать. Если писать я его еще могу как то сам, то читать мне как и большинству других разработчиков приходится преимущественно чужой код.

    Вот и проблема, как убедить своих колег в том, что это натация стоит использования? Увидев такой код на ревью, меня первым делом спросят, где тесты? Нет тестов — значит оно точно работает (не)всегда так как я этого не ожидаю.

    Где тесты? Где границы применимости т.е. при каких условиях такая натация это UB? Какие есть ограничения на контейнеры, на value_type, как я могу это использовать не по назначению (скорее всего случайно), и как запретить это на уровне компилятора?

    Когда то я тоже увлекался подобными вещами, очень полезно и развивает, а потом в какой то момент я сказал себе, хватит заниматься борьбой с ветренными мельницами (с++). Никто и никогда в здравом уме не даст мне это использовать в продакшене. А самое главное это должно быть на уровне языка, а не библиотеки (даже если это и можно с эмулировать в виде библиотеки) потому, что ни одна утилита (статический анализотр, в том числе встроенные в компилятор ворнинги) про это счастье ничего не знает и не узнает. Значит только внимательное код ревью спасет меня и моих колег от проблем, но у меня и так полно мест за которыми мне нужно очень внимательно следить, я не хочу загружать в свой мозг еще и вот это все.

    Еще раз, мне это очень нравиться как концепция и на уровне языка я всеми конечностями за такое, но это поделка на коленке почти наверняка не пригодна к применению в продакшене. Продакшен код нужно читать как очень плохой, несогласованный, полный багов, спагети код, который при малейшей возможности всегда проявляет UB. А еще мои (да и не только мои) колеги очень упрямые и даже если покрыть все 3х этажными тестами на все случаи жизни и предвидеть будующие измениния с++ (ну хотя бы лет на 5-6), то даже в этом случае у меня почти нет шансов убедить хотя бы парочку, что это того стоит.

    К сожалению практической пользы в лучшем случае 0 (а для многих вообще отрицательная), но читать было приятно, пишите есчо, есть вероятность, что другие поделки будут полезней.
  • Философия информации, часть 7-я, заключительная. Системообразование
    0

    Ни к чему я вас не обременял, по ссылкам ходил, реальной задачи не нашел. Может искал недостаточно хорошо. Вам же достаточно привести пример задачи Где цифровая физика раскрывает себя как удобный рабочий инструмент.

  • Философия информации, часть 7-я, заключительная. Системообразование
    0

    Согласен, магии нет. Но просто слишком много связей тоже не работает, как писал автор нужен системный эффект, а не просто дохулярд элементов. Закон больших чисел прекрасно работает в сторону ноля, но в сторону бесконечности так не получается. Т.е. если вам нужно перемножить вероятности, то отлично закон больших чисел работает — событие невозможно. Но если вам нужно перемножить что то большее единицы, то не работает.


    Разум ближе к НДМТ нежели к ДМТ, но и этого недостаточно. Представьте что на каждом шаге НДМТ генерирует новую ветку, а потом запускает вычисление по нескольким одновременно, а данные берет не из той части ленты где в данный момент записана целевая задача, а из другой части ленты из предыдущего опыта, да и еще есть ограничения по времени/стоимости вычислений, если превышен лимит вычисление обрывается по одной из веток. Потом делает выбор по какому то критерию в пользу одной из веток даже если ни одна из веток до конца не была посчитанна, а на следующем шаге опять тоже самое и еще учесть то, что после выбора ветки результат запуска выбранной ветки может отличаться от того результата из за которого эта ветка была выбрана. А еще нужно учесть, что та новая ветка, что генерируется на каждом шаге, она не совсем рандом и чем то похожа на уже альтернативные и известные, но и все же чем отличается принципиально. А еще что лента не бесконечная, и каким то предыдущим опытом придется пожертвовать. И еще учесть то, что при чтении символов ГЧЗ иногда ошибается и считывает не то, что на самом деле записано, а при записи иногда пишет не то, что нужно. Ну и еще что нибудь я забыл/не знаю.


    Вот примерно так я себе представляю модель разума. И вот если приправить все это дохулярдом нейронов то вот такая НС уже будет демонстрировать какой то кошко/собачий уровень сознания, а может и еще слабее, а может и не будет. Но результат точно будет не возможно с эмулировать на МТ.

  • Философия информации, часть 7-я, заключительная. Системообразование
    0

    Да и обычно такую логику называют гейзенбаг. И я сейчас не шучу. Тем кому довелось чинить невоспроизводимые краши имея в наличии только мини краш дамп втыкая в код две недели полный рабочий меня поймут. Такие баги почти всегда сводятся к чтению неинициализированной памяти, или совсем редкие (чего мне увидеть еще не доводилось) аппаратные ошибки. Т.е. Я еще ни разу не видел как такое создавалось с умыслом для решения реальной задачи. Если мне еще не отщибло память то и ген. Алглритмы и НС эмулируются МТ так, что здесь нет никакой магии.

  • Философия информации, часть 7-я, заключительная. Системообразование
    0
    я не вижу никакого места где там появляется нечто волшебное и ДЕЛАЕТ ВЫБОР а не ВЫБОР ПРОИСХОДИТ


    Вот это фраза прдходит для описания молотка. Молоток не делает выбор бить ему по гвоздю или еще чему, выбор с ним происходит. Разница для меня очевидна — наличие/отсутсвие механистической причинности иными словами если вы позавете физика и спросите его, мужик ты можешь объяснить почему молоток ударил по гвоздю, он скажет так это ж очевидно ты своей рукой его направил на гвоздь. А если вы позовете физика и спросите мыжик почему в США выбрали Трампа, он скажет, нет ни одной известной физической гипотезы, которая может дать на это ответ. Ну разве, что тут прибежит napa3um и начнет петь свою песню про цифровую физику, но мы это проигнорируем, потому что это песня про жесткий детерменизм, и как следствие отсутвие свободы воли. А проигнорируем мы его потаму, что есть тру случайные события.

    Еще раз если нет физических принципов объясняющих случившееся, то что то или кто то делает выбор, если эти принципы есть, то выбор происходит с чем то или кем то. Пока что, человеки не смогли создать ничего исскуственного, что умеет делать выбор, но все живое в определенных обстоятельствах (не всегда) умеет делать выбор.

    Наше сознание и есть та волшебная хрената, что делает этот долбаный выбор. Я еще раз повторюсь «Свобода Воли» это не единая сущность это «Свобода» «Воли» разделенная во времени. Как при голосовании. Список кандидатов наполняется и в зависимости от исторических событий и взависимости от случая. Путин в силу исторических событий точно будет в списке 2018, а вот наличие Навального в этом списке штука обсалютно рандомная. Но когда вы пойдете на участок голосовать, то это Вы делаете выбор, на вас никто не смотрит, и рукой вашей не водит, куда хотите туда и лепите галочку. Результат сильно предсказуем, но все же не определен. А вот если вы на участок не пойдете, то выбор случится с вами.

    С точки зрения политического процесса, если вы пойдете на выборы, вы живой субъект, а если не пойдете, то разницы между вами и молотком не будет ни какой.

    Вы хотели третий вариант — вот он, все «просто происходит», но он конечно же вам не понравится так как «бесполезный».


    Это не третий вариант, я обсалютно уверен, что здоровый взрослый человек просто не может не делать выбор (та часть что Свобода из «Свобода Воли») хотя бы у себя в голове. Еще раз повторюсь здоровый человек, есть заболевание которое характеризуется тем что человек действительно не может сделать выбор и страдает от этого. А вот когда он говорит, что все «просто происходит» — это диагноз отсутствие воли (той части что Воля из полного «Свобода Воли»), есть и болезни с подобными симптомами, например паралич.

    Если человек здоров, то это просто наведенное извне засирание/промывка мозга тем, что Боженька, Успокоение, и Все само происходит/рассосется. Критерий — рациональность. Если ваше поведение не рационально, а другие субъекты ведут себя рацинально, то по теории игр вас обыграют, отнимут ресурс ваше время жизни/деньги (то что за них можно приобрести). Идея Веры пока она не влияет на ваше рациональное поведение бесполезна — не дает выигрша по сравнению сдругими рационально действующими субъектами. Но как только Вера склоняет вас к нерациональным поступкам, в этот момент она прорастает внутри вас в виде Религии.

    Добавить/разъяснить мне больше нечего, принимайте или не принимайте этот ответ, но задумайтесь это вы согласитесь или нет или же с вами это просто случится?
  • Философия информации, часть 7-я, заключительная. Системообразование
    0
    Ответ про то как случайность порождает выбор.

    Итак дано:

    человек верящий в суеверия, а так как беда не приходит в одиночку, то еще и заодно сторонник гомеопатии.

    Вечер. Улица. Ну и где то рядом с аптекой (хотя это не важно).

    Кот, очень важная харатеристика кота он точно 100% серый, не черный.

    Субъект направляется на остановку, на последний автобус, следующий только утром, опаздывать будет очень неприятно.

    Первый акт комедии.

    Кот переходит дорогу нашему субъекту, а мы помним что субъект суеверный, и что вечер улица и освещение не очень. И так фотончики от кота полетели на устройство ввода — глаза и первая ошибочка, кот оказался черным, хотя он не черный.

    Контекст суеверия тут же сигнализирует, постой паровоз не стучите колеса, давай подумаем, что делать дальше. Если пойдем дальше тем же путем, то вдруг там на остановке гопники окажутся и ни домой не попадем ни ценностей не сбережем, а того и глядишь здоровье потеряем. Вот же есть дорога через переулок, пойдем по ней и с гопниками разменемся, но есть не нулевая вероятность, что и на автобус не успеем.

    Но пока все эти мысли из устройства ввода/вывода память/мозг воспроизводились случилась вторая ошибка чтения памяти и были задеты ассоциация подобное лечится подобным из раздела гомеопатия.

    И родился третий вариант. Догнать кота, отодрать клок шерсти посыпать на дорожку и таким образом отвадить гопников. И не надо мне тут ля ля, что у такого субъекта не могла такая мысль родиться. Я режисер этой комедии значит могла быть такая мысль.

    Акт воторой принятие решения.

    Внешняя причина, черный кот перешел дорогу. Значит повышается вяроятность встретить гопников если перейти его след.

    И так на повестке 3 выбора, 2 хорошо знакомых и отработанных и один совершенно новый

    пойти тем же путем и проигнорировать суеверие, и если не будет гопников точно успеть на автобус.

    пойти другим путем и с немалой вероятностью на автобус не попасть, но и гопников не встретить

    догнать котэ, отодрать клок шерсти, посыпать на дорожку этот клок. Таким образом и гопников отвадим и на автобус успеем, но неизвестно а вдруг не сработает.

    И тут происходит еще одно случайное событие пока субъект думает, кот сам подходит к субъекту и как бы намекает на правильный выбор.

    Но выбор еще не сделан, субъект все еще страдает от необходимости его сделать. Он видит все варианты, прикидывает результат и наконец решается, а почему бы и не рискнуть, бедный котэ.

    Акт третий.
    Пыщ, бах, трататах, МЯУ, тварь шерстянная, все затихло.
    У субъекта все руки в кровище, но кусок хвоста больше не пренадлежит котэ. Шерсть развеяна на дороге, и давольный но все же изрядно поцарапанный субъект идет на остановку той же дорогой.

    Акт четвертый.
    Принятие ответсвенности за выбранное решение. А на остановке, они, голубчики, 33 богатыря все как на подбор, пьяные и хотят продолжения веселья, но ресурсов нет. Далее происходит все тоже самое, что с котом только вместо кота субъект. В результате автобус уехал без субъекта, руки поцарапаны котом, телефона нет, денег тоже нет, но зато есть фингал.

    Акт пятый.
    Ждем следующий автобус и осмысляем произошедшее. Помните что субъект суеверный, да еще и в гомеопатию верит, а как я уже писал беда не приходит одна, с логикой (подавлением ошибок ввода/ввывода) все тоже очень туго.
    И так рассуждения субъекта сводятся примерно к следующему — идея на самом деле была классная, ведь гомеопатия не врет, проблема в дозировке. В следующий раз надо применить больше насилия к котэ и отодрать что нибудь по существеннее, например лапу, хотя это наверное тяжело будет, ну тогда хотя бы глаз ну или зуб накрайняк.
    В результате у субъекта формируется новая информация/контекст, при виде переходящего дорогу черного котэ, догнать и жестко изнасиловать с целью претрушивания потрашками котэ на дорогу.

    Вобще я сейчас вам рассказал всю логику жертвоприношений, так что ничего сверхъестественного.

    Если посмотреть на все это со стороны и вместо субъекта представить информационную систему, работающую по алгоритму, то такое не возможно. Если еще ошибка в определении цвета может иметь место, то зарождение 3 варианта практически невероятное событие, но даже если все таки какойто храдварный баг и приведет к такому, то закрепление нового варианта действий в контексте не возможно. Ну технически тоже практически не возможно, но по закону больших чисел произведение двух практически невозможных вероятностей точно дает никогда не реализуемую вероятность.

    Вот вам и польза от свободы воли/креативности — генерация и новых идей. Многие понимают свободу воли как единую сущность, но дядя Боб внес замечательное уточнение. Свобода воли это temporal sequence временная последовательность или последовательность во времени. Сначало свобода — генерация вариантов действия, а потом воля — исполнение решения. Суть всех споров, в том что детерменисты отказываются признать что есть настоящая тру неопределенность в виде квантового и термодинамического шума. А если они начинает рассуждать в терминах давайте предположим, что такие ошибки все же есть, то скатываются в фундаментальный индетерменизм и делают вывод, что вообще все случайность и нет никакой возможности чем то управлять высмеивают такой вывод и продолжают жить по старому.
  • Философия информации, часть 7-я, заключительная. Системообразование
    0
    Теорема о внешнем целеполагании, раздел доказательство

    Информация = сигнал1 + контекст1
    Контекст1 = сигнал2 + контекст2
    Контекст2 = сигнал3 + контекст3
    И так далее. Подставив детализацию контекста 1 в первую формулу, получаем:
    Информация = сигнал1 + сигнал2 + контекст2
    Подставив детализацию контекста 2, получаем:
    Информация = сигнал1 + сигнал2 + сигнал3 + контекст3
    Поскольку сигналы являются всего лишь обстоятельствами, значимость которых появляется в контексте, сигналы могут быть объединены и рассмотрены как единое целое:
    Информация = сигнал123 + контекст3


    Самое смешное, такая многостадийная конструкция может быть воспроизведена как единое целое на машине Тьюринга, но при соблюдении условия, что этот метаалгоритм единомоментно получит на своём старте входные сигналы для всех стадий. То есть опять же у нас не будет того, что сигнал 2 после сигнала 1.


    Вы уже сами этого сделали при доказательстве вашей теоремы. И тут как раз таки С123 это ни что иное как лента с записанными входными данными, К3 это первоначальная таблица переходов и начальное состояние. А информация это судя по всему одно из конечных состояний (или промежуточных если мы рассматриваем только часть вычисления).

    Вы понимаете к чему я веду? Вы где то выше при споре с кем то другим уже согласилсиь с тем что МТ не может все описать т.к. есть не вычислимые задачи, а сами же доказали свою теорему используя МТ, т.е. только для хоть и большого, но все же частного случая.

    Теперь про единовременность, я вижу, что вы на словах признаете, что будущее не предопределенно и поэтому невозможно записать С123 на ленту за ранее (в этом и центральное отличие от цифровой физике, которая фундаментально детерминированна). Но при доказательстве вашей теоремы, вы, почему то, внезапно оказались как раз сторонником цифровой физики, уведя ваш первоночальный контекст в зону трансцендентности и каким это образом записав весь необходимый сигнал. Если вы скажете, что С123 это уже прошлое и т.к. оно прошлое то детерминированно и мы можем так делать, то это ничего не меняет. Получается, что ваше настоящее, является 100% вычислимым через прошлое, а это и есть цифровая физика, с которй вы и не согласны. Значит ваша модель все таки не верна? Мне уже все давно ясно, и я лишь продолжаю подкидывать вашему мозгу аргументы, и случиться одно из трех, это надоест вам, это надоест мне или вы признаете, что ваша модель это МТ и она не подходит.
  • Философия информации, часть 7-я, заключительная. Системообразование
    0
    Я тут встряну между вами забавы ради, но вы оба доставили мне радость :). Ну а по существу, позиция автора (кстати мне уже как то и не ловко после всей этой тоны букв вас так безлично называть) выглядит убедительней чуть более чем полностью.

    Никто не против если вы (napa3um) будете критиковать позицию автора о беспредметности его филисофии это полезно т.к. заставляет автора все таки найти время и подумать на эту тему посерьезней и с примерами, хоть на словах он и говорит, что его это не парит ни коим образом.

    Вот, что не хорошо, так это когда вы (napa3um) делаете ровным счетом тоже самое по отношению к цифровой физике. Вы утверждаете, что это инструмент, замечательно задачи в студии которые решаются этим инструментом, а то так получается, что вы и сами то не очень понимаете, что такое наука и в чем разница между поиском Истины и решением реальных задач.

    Хотя нет думаю понимаете, но т.к. иррациональность есть во всем живом, то и вам от нее в своих рассуждениях не убежать. Ваш тон немного вызывающий, вы значит дартаньян который точно знает, что такое наука, а что не наука, а все остальные заблудшие овцы ну или оригинальный вариант концовки. Вобщем не стоит утверждать, что вы умнее других, обезательно найдется текст написанный вами, который докажет, что это не так. Мы же здесь не занимаемся измерением длины хозяйства (ну т.е. кто умнее), хотя чем мы тут занимаемся я тоже сказать не могу, пользы как то не очень много видно.
  • Философия информации, часть 7-я, заключительная. Системообразование
    0

    Начнем с того, что сводимость вселенной к МТ это гипотеза, которую не все физики разделяют. И мало того существование невычислимых функций как бы намекает, что гипотеза эта неверна.


    Даже если все таки эта гипотеза окажется верной, то мой поинт никуда не девается, но переформулируется в вариант, а зачем плодить сущности и переизобретать МТ если уже все до нас придуманно.


    Но я все же думаю что гипотеза цифровой физики не верна, то что вы указали на отсутствие гипервычислителя не доказывает верность этой гипотезы, а наоборот демонстрация такого вычислителя фальсифицирует гипотезу.


    Мало того автор точно с вами не согласится, т.к. центральная идея цифровой физики реифицирует информацию.

  • Философия информации, часть 7-я, заключительная. Системообразование
    0
    Данные есть, а информации нет. Существо начинает выращивать недостающий промежуточный контекст. Ищет взаимозависимости во входном потоке. Строит гипотезы. Удачные гипотезы закрепляются, неудачные отвергаются. Таким образом вырастают недостающие промежуточные контексты.


    Тут не счем спорить, все так. Мой поинт в том, что эти слова невозможно выразить в вашей модели И=С+К.

    Я заявляю, что ваша модель это еще один вариант машины тьюринга. Доказываю:
    входная последовательность сигналов — лента
    первоначальный контекст — таблица переходов + начальное состояние
    информация — таблица переходов + новое состояние
    Таким образом ваша модель может быть эмулированна на машине тьюринга, отсюда следует, что ваша модель и машина эквивалентны.

    У вас есть, что этому возразить?
  • Философия информации, часть 7-я, заключительная. Системообразование
    0
    Ну может и брежу, только все равно ваш «третий» вариант не понятно что. Разъясните.
  • Философия информации, часть 7-я, заключительная. Системообразование
    0

    Я думаю ответил на это выше. Не важно вижу я боженьку спит ли кто то в мультивселенной или еще какая хренота, это ни на что не влияет. Если влияет, то приведите пример.

  • Философия информации, часть 7-я, заключительная. Системообразование
    0

    Так это не третий вариант, а отрицание, что свобода воли существует.

  • Философия информации, часть 7-я, заключительная. Системообразование
    0

    Выбор рождается из текущих внешних событий и попытке использовать накопленный опыт, и внешние события (то каким образом мы из восприняли через органы чувств) и воспроизведение опыта из памяти подвержено ошибкам ввода/вывода и эти ошибки и порождает непредопределнный заранее выбор действий. Т.е. Набор ваших решений которые вы раздумываете скоррелирован и с внешним событием и с вашей историей но полностью не может быть выражен имея и то другое. Здесь и срабатывает квантовая неопределенность внося невозможность вывода Вашего списка кандидатов на решения из опыта и внешнего события.


    Я думаю вы согласитесь с тем что вера это разновидность идеи матрицы ну или наоборот матрица разновидность идеи сверх творца, в любом случае общее между ними трансцендентность. Как то раз прочитав на гике статью о том, что астрономы нашли в реликтовом излучении такие необычные свойства которые согласовываются с гипотезой того что наша вселенная это симуляция, я поделился этим со своей женой, человеком очень далеким от философии. Она посмотрела на меня как на идиота, а потом сказала, а какая разница реальный я субъект или симуляция, на мою жизнь это никак не влияет. Вот вам и ответ, вера в трансцендентность никак не влияет на жизнь по крайней мере на мою и моей жены. Иными словами это "знание" нникаким образом (нет ни одного воспроизводимого эксперимента) не проявляет себя в виде мех. причинности. Это значит что я не могу воздействовать на не живой мир исходя из этого предположения это и есть определение бесполезности. Но вот если на основе такой идеи построить религию, то религия как раз таки позволяет воздействовать на материальный мир. Вера бесполезна, религия зло во плоти.


    Идея успокоения в переводе на доступный язык означает отказ от попыток воздействовать на материальный мир. Если я и так вижу что не обладаю силами и средствами на него воздействовать, то мне нужна вера что бы примериться с легкостью, но вот когда я имею силы и средства, то бездействие вызванное прорастанием религии на почве веры в голове субъекта и есть то зло о котором я говорю.


    Любовь как по мне так чистая физиология, ну может еще что из области физики, но точно для ее существования не требуется вера. Есть масса роликов на ютубе Где животные проявляют любовь, а веры у них что то не видать, ну по крайней мере религии как мы привыкли к этому. На ваше замечание, что это не доказывает отсутствия веры у животных я бы сказал что любовь животные проявляют таким образом что нам это видно мы это чувствуем, значит если животные имеют веру то эту вам нужно приводить доводы в пользу этой гипотезы, а не мне доказывать, что веры у животных нет. Это кстати еще одно подтверждение бесполезности веры, куча живой природы не проявляет признаков существования у нее веры, но при этом живется этой живности очень неплохо, и только высшие обезьяны (это я про нас с вами, ну уж точно про себя) могут страдать по этому поводу.

  • Философия информации, часть 7-я, заключительная. Системообразование
    0

    У дяди Боба в явном виде присутствует стандартное заблуждение, что непредсказуемость является ключевым свойством сознания.


    Обоснуйте пожалуйста это не через шутки, а так, что бы придраться было бы не просто. Я чуть далее попытаюсь обосновать, что как раз таки вы заблуждаетесь.


    Да, конечно, случайность процессов микромира — неплохой аргумент в споре с упёртыми детерминистами, но, во-первых, не самый сильный аргумент.


    Прошу продемонстрировать самый сильный, если этот не самый.


    делаю акцент на том, что механистическая неуправляемая случайность — это всего лишь нюанс механистической же предопределённости.


    А вот это и есть заблуждение. В той самой главе вы пишете, а давайте считать что это так и никаких обоснований почему же мы должны так считать. Это совершенно не логично и самое главное квантовая физика обосновывает совершенно противоположную картину. Именно макро детерминированность является частным случаем микро неопределенности. переход неопределенности в определенность происходит по закону больших чисел. Я не специалист в квантовой механике и поэтому могу далее формально написать чушь, но смысл я выводу правильно — суперпозиция системы из многих частиц должна выражаться через что то типа произведения, т.е. какими бы большими не были вероятности неопределенностей квантовых состояний отдельных частиц определенность состояние всей системы растет с числом частиц в системе. И начиная с какого то числа этих частиц вероятность неопределенности становится настолько малой, что по закону больших чисел никогда не может реализоваться на практике. Т.е. адекватный детерминизм прекрасно вписывается в недетерминизи как частный случай, а вы все перевернули с ног на голову и обозвали общий случай частным. Ну хотя бы попытайтесь обосновать как такое технически возможно. В этом и есть точка разногласий, вы детерминист даже когда вы приминяете ситуационное обоснование и признаете что неопределенность есть, про себя то вы думаете ну это ж разновидность определенности просто у нас не все про нее известно, а с этим ни один квантовый механик не согласится и предъявит кучу опытов опровергающих вашу гипотезу.

  • Философия информации, часть 7-я, заключительная. Системообразование
    0
    а мне как обывателю крайне сложно понять как коллапс квантовой функции приводит к тому что вы делаете выбор

    Колапс квантовой функции рождает выбор, если ничего не сколапсирует, то состояние системы в момент времени t+1 полностью предопределенно состоянием в момент времени t. Случайное событие — колапс, прерывает механистическую причинно следственную цепочку. Т.е. пока колапс не произошел все детерминированно, но так как колапс не имеет причины, то он и разрывает эту цепочку. Это как маятник пока он качается внутри идеального коня в вакууме, то его амлитуда и фаза предопределенны, но стоит внести любое случайное возмущение и все цепочка причинности прерванна. Каков именно механизм детектирования мозгом индивидуальных колапсов волновой функции, я вам дать не могу, есть идея что в мозгу есть участки которые могут усиливать эффект колапса на микро мире до уровня который уже может быть задетектирован на макро уровне мозга, но нет ни одного экперимента это подтверждающего, хотя в данный момент появилась новая идея на этом пути и ее сейчас проверяют. Где здесь на гитаймсе была статья по этому поводу. Скорее всего мозг нет никаких таких участков ответсвенных за квантовые эффекты, а проявляются они на макро уровне в виде термодинамического шума, банальных ошибок ввода/вывода. Т.е. в вашей памяти есть какието воспоминания и образы, но как только вы пытаетесь их вопсроизести — считать из носителя — то неизбежно возникают ошибки, потеря данных, замещание на похожие, но не теже или генерация не существовавших на момент записи. Вот и получается, что при обсалютно любой попытке, что то вспомнить или осмыслить на каждом этапе этого процесса возникают ошибки — которые и есть по сути квантовые эффекты, наше сознание умеет каким то образом их корректировать и тогда оно работает в режиме машины тьюринга — вычисляет логически верный ответ на поставленный вопрос. Но также сознание умеет слушать эти ошибки и не подавлять их, тогда оно работает в режиме свобода воли/креативность. Вот как то так дядя Боб это объясняет. Т.е. сознание это такой пахан внутри головы который все время занят тем, что либо что то вычисляет, либо ищет новые идеи, ну еще спит иногда, но это как пауза в игре.

    и детерменизм и свободная воля это лишь концепции которые удобно использовать когда это уместно, но они не описывают то «как оно есть на самом деле»

    Как и любой «закон» физики. И так же как и любой очень хороший закон, количество ситуаций где эти концепции не работают либо хорошо проговоренны (область применимости) и изолированны от тех случаев когда они не работают, либо еще не известны. Как я уже и сказал приведите пример который подпадает под все условия существования свободы воли и не может быть этой свободой объяснен лучше чем любым другим объяснением и тогда будет тема для дисскусии.

    Мне кажется сама концепция «информации» как раз содержит себе то что «все» может быть каким угодно, все зависит от того каким образом на это «все» посмотреть.

    Если все может быть чем угодно, то как писал автор такая теория бесполезна, т.к. она инвариатна относительного чего угодно и поэтому ничего не объясняет, предсказательной силы не имеет и как следствие бесполезна. Иными словами какой толк от шара предсказания судьбы если на бинарный вопрос он всегда выдает два ответа и да и нет одновременно? С какого края на него посмотрите так и поступите?

    И отсюда как раз и выходит все остальное — если мы «верим» в то что мир материален и в нем есть определенные законы — мы делаем определенные выводы, если мы верим в другое — то получаем другое.

    В том и фишка, что мы не верим, а смотрим какой из вариантов работает в той реальности которая у нас нет, а какой не работает. Вариант с отверганием свободы воли ведет к печальным последствиям для индивида по сравнению с другими индивидами которые ее признают, при «прочих равных условиях». При этом железобетонных доказательств нет.

    Мне лично любая мировая религия неугодила тем, что навязывает отрицание свободы воли. Навязывает идею того, что рабство в любой из форм это данность нашей реальности и не нужно этому даже пытаться сопративляться, хотя сами люди которые толкают эти идеи нифига в них не верят и действуют согласно тому, что они признают существование свободы воли. Т.е. я лично отделяю религию от веры. Вера просто напросто бесполезна, но и не вредит до определенного момента, а вот религия это рафинированое зло во плоти.

    Аргумент в стиле ядерную бомбу придумали ученые вообще ни очем. Спор что верно религия или наука это не поиск истины в формально полной системе т.е. либо одно либо другое. Любая религия ложна это очевидно, т.к. в любой религии найдется хотя бы одна догма которую наука уже опровергла.

    Потом если религия пытается как то с этим жить, догма потихоньку подменяется, при чем таким образом что предыдущая никак не является частным случаем новой, а противоречит ей. Наука же не истина, но лучше всего согласовывается с наблюдаемой реальностью, а когда обламывается, то заменяет теорию на более общую, таким образом, что предыдущая теория становится частным случаем новой.

    Еще раз религия в случае острой необходимости меняет догму на противоречащую, вчера свинью есть было нельзя, потаму что правоверный мусульманин/иудей, но если сегодня вдруг есть или не есть свинью это вопрос жизни и смерти, то можно и съесть, но не множко, только что бы ласты не склеить и не дай бог почувствовать удовольствие, но потом обязательно надо пройти обряд очишения от скверны. То же самое с самой мякоткой центральными заповедями, смертными грехами. Убивать нельзя, но если очень хочется, то можно, например на войне, но желательно удовольствия от убийства не испытывать и на всякий случай помолиться о прощении своих грехов. Но не зазорно попросить благословление перед боем, что бы убивать противника было не так уныло.

    В науке же как нельзя было создать вечный двигатель, так я уверен и не будет возможно (даже если закон сохранения энергии подкоректируют) в таких условиях/ограничениях которые мы имеем на данный момент. Т.е. если мы найдем ситуацию в которой отсуствует ограничения в которых сохраняется энергия, т.е. найдем случай когда она не сохраняется, то тогда в этом месте пространства и в тех принципиально новых усовиях будет возможно создать вечный двигатель, но боюсь применить его в нашей повседневной жизни не получится, т.к. у нас будут все те же ограничения, что и сейчас.

    Т.е. наука оперирует квантификатором общности для всех, а религия создает кучу вариантов добра и зла для каждой группы условий и при возникновении новых условий может поменять еще вчерашние «истинные» догмы на новые «истинные».