Pull to refresh
35
0

Программист-теоретик

Send message

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

Получается, что в данном определении нетривиальным местом являются «описание функции или свойства» и «разрабатываемое». Второе понятно (хотя мне как не аналитику неочевидно), но первое-то что значит? Что ещё, кроме функций и свойств, может быть у разрабатываемого ПО, чем она должна обладать, но при этом что не входит в требования к ПО?

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

Не знаю что за ранжирование в YaCy, наверное все-таки какое-то есть.

Разрабы занимали принципиальную позицию, что пользователь может контролировать состав выдачи, но не порядок. В какой-то момент официальный ответ был таков: порядок определяется тем, кто из узлов сети ответит раньше.

один агент создавал индекс [...] ответственность одного агента и вы доверяете его авторитету.

Этот момент мне не до конца понятен. Допустим, в сети есть несколько агентов. Я становлюсь участником сети и хочу 1) уметь формировать выдачу на основе только тех агентов, которым я доверяю и 2) пополнять индекс своими данными, выступая в качестве агента по отношению к другим.

Как это делается? Что происходит, когда один из агентов оказывается скомпроментированным?

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

Человеческое спасибо за поднятую тему и предложения.

Я далёк от технической части, но как пользователь обеспокоен отсутствием децентрализованного веб-поисковика. Долгое время наблюдал за проектом YaCy. Пробежал глазами по тексту и не нашел обсуждения проблем, которые встали перед тем проектом.

Одна и, пожалуй, главнейшая проблема — ранжирование результатов. В YaCy ранжирования нет принципиально, что делает поиск непрактичным для обывателя. Как обстоят дела в предлагаемой системе? Пользователю нужно будет самому писать выражения на упомянутом в статье языке fasteval2?

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

Как подобные проблемы решаются в предлагаемой системе?

P.S. https://izihawa.github.io не существует — 404.

Видимо Вы не в курсе, что в логике бремя доказательства, существования чего либо, лежит на утверждающем это существование. :)

Это в каких логиках такое? По крайне мере в формальных бремя доказательства возлагается на того, кто первый пиз^W высказался.

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

К вёрстке имею опосредованное отношение, но осмелюсь предположить, почему сторонники семантичности себя так ведут.

Одна из важных технических задач — писать код, который не удивляет. Если есть <button>, зачем писать <div class='btn'>? Это было сделано специально? По незнанию? Артефакт слияния?

Это как писать let i = arr.length; while (i--) f(arr[i]) вместо map/forEach/for-of или на крайний случай for(let i = 0; i < arr.length; ++i) f(arr[i]). Видишь такое и сразу начинаешь искать повод, зачем именно так надо было делать, а не идиоматически.

Может, поборники семантики из тех же соображений исходят?

Примерно понятно.

Попробовал сейчас этот пример при n = -1, и он рухнул с ошибкой сегментирования памяти.

Это и не должно работать. Функция определена так, чтоб аргумент был положительным; а по-хорошему, сигнатура должна быть соответствующей, nat -> nat.

Наверное в каком нибудь Idris такое даже не скомпилировалось бы.

Как Int -> Int, конечно, нет, а Nat -> Nat — да, причём тотальна без доп. вопросов. В Idris бывает проблема, когда функция тотальна или рассматриваемый тип не населён, но компилятор не сразу догадывается, там надо доказывать, но Idris предоставляет средства логики первого порядка для доказательств, или believe_me накрайняк.

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

Кстати, первый пример с fib удивляет. Кажется, что fib должна быть самой настоящей total, потому что она примитивно-рекурсивна. Как доказать компилятору, что она всегда завершается?

upd. Только что увидел заявление

  • отсутствие сборщика мусора

Это как? Я не в теме, но как слышал, только Rust успешно смог организовать работу с функциями, чтобы обойтись без сборщика мусора, и за это заплатили цену введением неинтуитивных концепций, вроде владения. Тут такой же масштаб амбиций или имеется в виде что-то другое?

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

Для сравнения, в семантике Крипке отдельные «части» модели модальной теории принято называть «мирами». Модальные операторы — это кванторы по мирам. Никто же не критикует математиков за то, что они рассматривают такие модели, потому что никто не говорит, что мир в модели — это наш самый мир.

Поскольку Стив не проводит границы между его построениями и нашей физической реальностью и не говорит явно, что его теория относится к математике, она автоматически становится в один ряд с физикой и натурфилософией. А находясь там, важно проверить критерий Поппера, о чём предыдущий комментатор и осведомился.

С моей невысокой колокольни ситуация выглядит вполне красиво и симметрично в обоих случаях:

  1. одни учёные носятся с теорией струн, другие критикуют первых, что их деятельность не имеет отношение к физике (пока что?);

  2. Стив носится с графами, а комментаторы хабра критикуют его, что его деятельность не имеет отношение к физике (пока что?).

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

Разве многие учёные не критикуют теорию струн как естественнонаучную именно за отсутствие предсказательной силы? Впрочем, какое это имеет отношение к деятельности Стива?

при "диагональном методе" актуальная бесконечность представляется в законченном виде

AFAIK, в серьёзной математике «актуальная бесконечность» возникает только при неформальном объяснении каких-то идей или построений. Так-то всё формально: есть теория, есть аксиомы, если теорема, есть доказательство.

 Откуда взялись действительные числа? Это такая "аксиома"

Да, это система аксиом, без кавычек. Кстати, каких именно? Там их несколько.

А переход к пределу и "устремление к бесконечности", о которых говорят на лекциях по матанализу, - это такие мантры, "финты ушами" за которыми не стоит какой-то смысл

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

почему Кантору можно, а мне нельзя по-всякому работать с бесконечностями?

(отвечаю на другой вопрос: что было у Кантора такого, чего не хватает в приведённом построении)
У Кантора была на руках теорема о том, что любой последовательность цифр (т.е. функции N → {0,1,2,3,4,5,6,7,8,9}) однозначно сопоставляется числу на отрезке [0,1], а каждое число может быть представлено последовательностью цифр. К слову, его построение подходит для доказательства несчётности функций с числовым аргументом и хотя бы двумя объектами в области значений, напр., N → {0,1}.

 Можете вы доказать, что так делать нельзя?

Это Ваша задача доказывать, а наша — проверять доказательство. Например, корректность канторовых построений в соответствующей формальной теории доказывается, поэтому с ними считаются.

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

P.S. в discord есть боты, которые парсят tex-вставки в сообщениях пользователей и сразу рендерят их в виде картинок. А как автор ведёт свой канал без подобного?

AFAIK, любой интерпретатор JS исполняет arr.map(x => x + 2).filter(x => x > 0).reduce((a, b) => a + b) за O(n).

Прошу прощения за лёгкий оффтоп.

Где можно найти живую площадку по этому инструменту? А то начал смотреть и у меня возникли вопросы, например, почему на диаграмме cusp 1 (3-клетка между 2-клетками CupBR и CupRB, которые имеют вид B→R и R→B, соответственно, где B и R — выделенные 1-клетки общей 0-клетки) в режиме Project 1 весь фон, в том числе между CupBR и CupRB, закрашен в красный, то есть в R, а не в синий (B), как того ожидал бы я?

Насколько я понял, автор рассматривает распространение света
1) как распространение упругого возмущения, создаваемого источником (обратите внимание, скорость света понимается исключительно как скорость в системе отсчёта источника). СТО рассматривает распространение света как такового, безотносительно источника, чтобы решить проблему дифференциальных (т.е. локальных) уравнений Максвелла в разных ИСО;
2) распространение в плоскости (см. рисунки, где cos(arcsin(v/c)) обосновывается тем, по между вектором скорости и направлением распространения есть угол). Следовательно, для одномерной задачи никакого знаменателя у автора не будет, а в СТО он-таки есть.

Одна из проблем статьи в том, что «академические» понятия и обозначения используются в альтернативном смысле, без чёткого глоссария, поэтому ассоциации (что такое v, что такое t, что обозначают штрихованные буквы) не работают. Когда просветители и евангелисты обращают других в своё учение, они «снисходят» до уровня «варваров», к которым обращаются; в противном случае, их проповедь не имеет успеха, а они справедливо именуются фанатиками. Это отношение в комментариях мы и видим.

P.S. спасибо за последний абзац, был тронут.

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

Просто оставлю здесь самые интересные цитаты

Скорость света в воздухе по определению Физо равна [..]. Скорость поперечных волновых колебаний в нашей гипотетической среде, вычисленная из электромагнитных опытов Кольрауша и Вебера, столь точно совпадает со скоростью света, вычисленной из оптических опытов Физо, что мы едва ли можем отказаться от вывода, что свет состоит из поперечных колебаний той же самой среды, которая является причиной электрических и магнитных явлений.

волна будет распространяться в любом направлении со скоростью V = ±sqrt(k/4πμ)

Эта волна состоит полностью из магнитных возмущений [...]

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

Единственной средой, в которой производились опыты для определения значения k, был воздух, в котором μ=1, откуда по уравнению V = υ

Согласно электромагнитным опытам Вебера и Кольрауша υ=310 740 000 м/с является количеством электростатических единиц в одной электромагнитной единице электричества, и это согласно нашему результату должно быть равно скорости света в воздухе или вакууме.

Скорость света в воздухе по опытам Физо равна V=314 858 000, а согласно более точным опытам Фуко V=398 000 000.

Скорость света в пространстве, окружающем Землю, выведенная из коэффициента аберрации и из величины радиуса земной орбиты, равна V=308 000 000.

Следовательно, скорость света, определенная экспериментально, достаточно хорошо совпадает с υ, выведенной из единственного ряда экспериментов, которыми мы до сих пор располагаем. [далее идёт описание экспериментов]

Прочитал далеко не всё, но контекст рисуется примерно таким.

В начале перед глазами табличка тег/атрибут/значение — описание на русском языке.

Сейчас частоиспользуемые теги пишутся по памяти. Здесь работает принцип китайской комнаты: не обязательно знать, что в каком-то иностранном языке значит слово «border» или «solid», чтобы понимать, что этот атрибут и это значение позволяют нарисовать обычную рамку вокруг объекта.

У меня, к примеру, учится советский человек верстать и, в целом, работать со связкой HTML+CSS+SVG. Не программист вообще, и не будет, разве что на уровне написания самых простых скриптов, но не факт. Английский не знает и учить нет смысла: общаться с англоязычными не будет, кроме как ради чтения документации и надписей в нелокализованных программах язык совсем не нужен, а затраты на обучения многократно превосходят затраты на гуглоперевод или чтоб дёрнуть меня. Так вот, хорошая русскоязычная документация высоко ценится, потому что доступна.

Получается какая-то языковая дискриминация. Я, конечно, понимаю, что можно закрыть на меньшинство, которое особо не влияет на экономику, но всё равно обидно получает.

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

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

В языке есть либо какие-то собственные уникальные свойства/возможности, либо сопряженные с определённой культурой, либо внешние по отношению к языку. Собственные свойства языка могут быть интересными, даже если на языке не говорит уже или ещё никто; это определённо повод над развитием этого языка работать. Например, в русском люди умеют двигаться; в английском люди двигаются менее осмысленно; с другой стороны, в английском есть система времён, а в русском она поломанная и убогая.

Если язык является предлогом (маркером, идентификатором) к культурному пространству: аналогиям, образам, идеям, взглядам, догматам, традиции, — то унификация невозможно ни в пространстве, ни во времени даже для одного языка (например, русский русских в Америке и в России, в современной, в СССР и в царской). Даже разные поколения и разные субкультуры оперируют разными образами. Вы говорите, что

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

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

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

Из внеязыковых свойств Вы отметили распространённость. Это не делает сам язык хорошим, сколько говорит о носителях и современном состоянии общества. Непопулярность не должна приниматься во внимание при оценке самого языка. Это всё равно, что сказать N-е лет назад, что никакая TypeScript не нужна, потому что все знают JavaScript; или сейчас сказать, что git — это хорошая система контроля версия, потому что она всеми поддерживается и все её знают, никакая другая нам не нужна. Хотя распространённость — это показатель, да.

Спрашиваю как человек с предметными знаниями чуть выше абсолютного нуля: разве HTTPS не предполагает шифрование пакетов, и почему подмена в конечном счёте возможна и реализуема?

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

Information

Rating
3,919-th
Location
Красноармейск, Донецкая обл., Украина
Registered
Activity